最近项目遇到了个奇怪的问题,代码如下
class Demo extends React.Component {
constructor(props) {
super(props);
this.state = {
value: ''
};
}
handleChange = (e) => {
this.setState({
value: e.target.value
});
};
render() {
return (
<input type="text" value={this.state.value} onChange={this.handleChange}/>
);
}
}
很简单的代码,然而却报了下面的错误。 。。。。。。。。。。。。。。。。
Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the OverviewHeader component.
google 的信息提供补了什么帮助。通过二分法逐步排查了问题,最后定位到是可能是 react-hot-loader 的问题,找到了个关键 issue https://github.com/gaearon/re…,最后作者说 : This is completely solved in React Hot Loader v4.
于是升级 react-hot-loader 即可。
——– 分割线
之前项目没有类似问题。进一步分析得出,新项目是用了 babel-preset-env ,so…。