Consider this example:
var Field = React.createClass({
render: function () {
// never renders new value...
return (
I'm fairly certain this has to do with Controlled vs. Uncontrolled inputs.
If I understand correctly, since your is Uncontrolled (doesn't define a value attribute), then the value will always resolve to the value that it is initialized with. In this case Hello!.
In order to overcome this issue, you can add a value attribute and set it during the onChange:
var Field = React.createClass({
render: function () {
// never renders new value...
return (
);
}
});
Here is a plunker showing the change.