取自React docs,我有类似的组件,如下所示:
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = {value: ''};
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
}
render() {
return (
<input type="text" value={this.state.value} onChange={this.handleChange} />
);
}
}
不能简单,它就像示例所说的那样。
问题是我有一个同构的应用程序(用redux-connect
完成)。
从服务器,它将加载一个输入(它将运行第一个“渲染”),然后进入客户端,并在js加载后,它将运行第二个“渲染”。 问题是,如果用户在加载js之前在该“输入”上键入内容,则在加载js后将清除它,因为第二个“render”将重新呈现输入并清除输入,删除用户写入的文本
我能做些什么来阻止这个问题吗?