Controlled Input 值为 null 的情况

为每个controlled component指定 value 属性,来防止用户修改输入除非你希望如此。

你也许会遇到这种问题:虽然已经指定了 value ,但是 input 依然可以未经允许就改变。这种情况,可能是因为一不小将 value 设置成了 undefinednull

下面这条代码片段展示了这个现象,一秒钟之后,文本变得可编辑了。

React.render(<input value="hi" />, mountNode);

setTimeout(function() {
  React.render(<input value={null} />, mountNode);
}, 1000);