我刚开始使用reactjs并尝试为我的jsx进行热重新加载。我分叉了这个应用程序:https://github.com/gaearon/react-hot-boilerplate/tree/next。
我将app.js稍微更改为:
import React, { Component } from 'react';
export default class App extends Component {
constructor(){
super();
this.state = {
txt: 'this is the txt',
cat: 0
}
}
render() {
return (<div>
{this.state.txt}
<h1>sdfdsfdsfs, world.</h1>
</div>
);
}
}
当我更改h1-tag中的文本时,刷新浏览器。但是,当我更改txt属性时没有任何反应。我怎样才能使这个工作?
答案 0 :(得分:1)
React-hot-loader无法将更改重新加载到构造函数中的初始状态。这是因为当组件内部的某些内容发生变化时,react-loader不会再次调用组件的构造函数。
无法将热更改重新加载到初始状态。别忘了这个属性赋值等同于在构造函数中设置字段。即使您更改了构造函数,该字段也已设置。构造函数不会运行两次。所以这不受支持。
查看此问题:https://github.com/gaearon/react-transform-hmr/issues/41