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[0][0]).toBe(
        'Warning: validateDOMNesting(...): <tr> cannot appear as a child of ' +
        '<table>. See Foo > table > Row > tr. Add a <tbody> to your code to ' +
        'match the DOM tree generated by the browser.'
      );
      expect(console.error.argsForCall[1][0]).toBe(
        'Warning: validateDOMNesting(...): #text cannot appear as a child ' +
        'of <table>. See Foo > table > #text.'
      );
    });
    it('gives useful context in warnings', () => {
      spyOn(console, 'error');
      var Row = React.createClass({
        render: () => <tr />,
      });
      var FancyRow = React.createClass({
        render: () => <Row />,
      });
      var Table = React.createClass({
        render: function() {
          return <table>{this.props.children}</table>;
        },
      });
      var FancyTable = React.createClass({
        render: function() {
          return <Table>{this.props.children}</Table>;
        },
      });
      var Viz1 = React.createClass({
        render: () => <table><FancyRow /></table>,