使用redux时反应生命周期

时间:2016-07-21 11:55:44

标签: reactjs redux

在响应中,当应用程序启动时,它将运行ComponentWill / DidMount,然后对于每个this.setState(),组件将运行componentWill / DidUpdate。

在redux中,商店将订阅这样的渲染函数,

const store = createStore({Reducers})
function run(){
   ReactDOM.render(<App />, document.getElementById("element"))
}
store.subscribe(run);
// then for every dispatch() action, store/reducer will run the render all over again

在我看来,对于存储的每个更改,redux都必须重新初始化组件。

  1. 这是否意味着对于每次更改,组件将始终运行componentWill / DidMount(),它将永远不会运行componentWill / DidUpdate?
  2. 如果no.1是正确的,它是否会使redux变慢,因为它必须为每次更新初始化组件?

1 个答案:

答案 0 :(得分:1)

首先,问题的答案:

  
      
  1. 这是否意味着对于每次更改,组件将始终运行componentWill / DidMount(),它将永远不会运行componentWill / DidUpdate?
  2.   

根据我的经验,第一次调用componentWill / DidMount,如果DOM结构没有改变且只有你的组件属性,那么yoy将有componentWill / DidUpdate。

  
      
  1. 如果no.1是正确的,它是否会使redux变慢,因为它必须为每次更新初始化组件?
  2.   

Redux没有性能问题,因为它使用React最佳实践并仅更新其属性已更改的组件。

我推荐两个很棒的资源来帮助你完成Redux / React之旅: