如何让热门加载器为jsx工作?

时间:2016-10-10 09:00:59

标签: javascript reactjs react-native

我刚开始使用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属性时没有任何反应。我怎样才能使这个工作?

1 个答案:

答案 0 :(得分:1)

React-hot-loader无法将更改重新加载到构造函数中的初始状态。这是因为当组件内部的某些内容发生变化时,react-loader不会再次调用组件的构造函数。

  

无法将热更改重新加载到初始状态。别忘了这个属性赋值等同于在构造函数中设置字段。即使您更改了构造函数,该字段也已设置。构造函数不会运行两次。所以这不受支持。

查看此问题:https://github.com/gaearon/react-transform-hmr/issues/41