【问题标题】:React 15 setState next line does not workReact 15 setState 下一行不起作用
【发布时间】:2019-11-14 04:25:59
【问题描述】:

action 后的 react setState 不起作用。

handleChange = () => {
    this.setState({foo: 'bar'});  < - it working 
    console.log('hellow') < - does not working, console is clean 
}

就我检查我的状态而言,我在状态值方面做的一切都是正确的。

不知道是什么问题

----更新----

新建create-react-app的项目运行非常正常。

不知道为什么会出现上面的问题,按常理来说也没有什么意义,不过好像是因为项目太乱了。

感谢您回答如此有限的情况。

【问题讨论】:

  • 这段代码没问题,错误可能是别的。调试
  • 是的,这是完全有效的代码,console.log 应该被触发。如果不是,问题就出在其他地方。
  • 这个问题可能吗? promise.then( function (res) { setState() } ).bind(tihs)

标签: javascript reactjs setstate


【解决方案1】:

您的代码是正确的,但您需要调用 handleChange() 方法 例如:-

componentDidMount() {
  this.handleChange();
}

handleChange = () => {
  this.setState({ foo: "bar" });
  console.log("Hello");
};

【讨论】:

    【解决方案2】:

    请试试这个

    handleChange = () => {
      this.setState({ foo: "bar" }, () => {
        console.log("hellow");
      });
    };
    

    【讨论】:

      【解决方案3】:

      您可以在 setState 中调用回调,如下所示

      handleChange = () => {
          this.setState({foo: 'bar'}, () => {
          console.log('hellow')
      }); 
      
      }
      

      【讨论】:

      • 我知道这样行。但我不知道为什么那个特定部分不起作用。
      猜你喜欢
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2020-09-15
      • 2016-12-27
      • 2020-07-10
      • 2017-12-22
      • 2020-07-15
      • 1970-01-01
      相关资源
      最近更新 更多