When I rerender a component with "defaultChecked" or "defaultValue" react fails to update the "value" and "checked" attribute accordingly.

Before you say "use a controlled input" I would argue that this is a bug as it basically disallows uncontrolled forms with "reset" buttons. (It will always reset to whatever the initial default value was).

expect(console.error.argsForCall.length).toBe(1);
    var node;
    expect(function() {
      node = ReactDOM.findDOMNode(renderTextarea(<textarea><strong /></textarea>));
    }).not.toThrow();
    expect(node.value).toBe('[object Object]');
    expect(console.error.argsForCall.length).toBe(2);
  });
  it('should support ReactLink', function() {
    var link = new ReactLink('yolo', jest.fn());
    var instance = <textarea valueLink={link} />;
    spyOn(console, 'error');
    instance = renderTextarea(instance);
    expect(console.error.argsForCall.length).toBe(1);
    expect(console.error.argsForCall[0][0]).toContain(
      '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.'
    );
    expect(ReactDOM.findDOMNode(instance).value).toBe('yolo');
    expect(link.value).toBe('yolo');
    expect(link.requestChange.mock.calls.length).toBe(0);
    ReactDOM.findDOMNode(instance).value = 'test';
    ReactTestUtils.Simulate.change(ReactDOM.findDOMNode(instance));
    expect(link.requestChange.mock.calls.length).toBe(1);
    expect(link.requestChange.mock.calls[0][0]).toEqual('test');
  });
  it('should unmount', function() {
    var container = document.createElement('div');
    renderTextarea(<textarea />, container);
    ReactDOM.unmountComponentAtNode(container);
  });