Skip to content

renderToString incorrectly supports select's defaultValue #4333

@nkt

Description

@nkt

Here is code for reproducing:

var Test = React.createClass({
  render: function() {
    return (
      <select defaultValue={this.props.current}>
        {this.props.items.map((i) => (
          <option value={i} key={i}>{i}</option>
        ))}
      </select>
    );
  }
});

var container = document.getElementById('container');
var code = document.getElementById('code');
var test = <Test items={[1, 2, 3]} current={2} />;
var prerender = React.renderToString(test);
code.innerText = prerender.replace(/></g, '>\n<');

container.innerHTML = prerender;
setTimeout(() => {
  React.render(test, container)
}, 1000);

So I'm rendering select on the server and got small lag on the client.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions