试图了解 React 的生命周期阶段 [重复]

Posted

技术标签:

【中文标题】试图了解 React 的生命周期阶段 [重复]【英文标题】:Trying to understand the lifecycle stages of React [duplicate] 【发布时间】:2017-11-02 09:38:27 【问题描述】:

我对 React 应用程序中生命周期阶段的顺序感到困惑。我有以下课程:

constructor(props) 
  super(props);

  this.state = 
    skip: 0
  



fetchMoreArticles() 
  this.props.dispatch(fetchArticles(this.state.skip))
  this.setState(skip: (this.state.skip + 5))
  console.log(this.state.skip); //This outputs 0 on page refresh???


componentDidMount() 
  this.fetchMoreArticles()

当我写入控制台时(请参阅fetchMoreArticles()),我希望输出为 5,但它是 0。有人可以解释原因吗?

注意:fetchArticles() 是一个使用 Redux 的 ajax 调用

【问题讨论】:

【参考方案1】:

setState 是异步的。所以你必须使用回调:

this.setState(skip: (this.state.skip + 5), () => 
    console.log(this.state.skip);
)

【讨论】:

以上是关于试图了解 React 的生命周期阶段 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

React生命周期详解

react组件生命周期

react native 初识生命周期

010_React-组件的生命周期详解

react生命周期

React生命周期