Redux在处置惩罚重大Store并频仍举行更新操纵时的


玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。

Q:当你具有一个相当大的 SPA 具有许多状况,由于有许多页面,模块,子模块和许多元素。一切子状况都联系关系 App 中分歧的关注点,子状况由它们本身的 reducer 处置惩罚。然则当举行异常频仍的更新操纵,一切的 reducer 都将被挪用。

当具有一个以下的 store:

store: {
  subStore1: {
    subSubstore1: {}
    ...
    subSubstore10: {}
  },
subStore2: {
    subSubstore1: {}
    ...
    subSubstore10: {}
  }
...
subStore10: {
    subSubstore1: {}
    ...
    subSubstore10: {}
  }
}

dispatch 一个更新 substore2: { subStore6 } 的 action。

为何不简单地复制指针 substore1、substore3、... substore9,而现在是挪用其他子 store 的 reducer?

 

A:能够运用 redux-ignore https://github.com/omnidan/redux-ignore。

-玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。-

 

Redux Store 中只要一个 reducer 函数。你能够剖析该函数,并依据你的需求来衡量方便、速率或其他要素。combineReducers 是处置惩罚此题目的经常使用要领,但并非必须的。

 

怎样处置惩罚那些已定阅状况转变的组件?

运用 react-redux。由 React-Redux 的 connect() 函数天生的包装组件会举行屡次搜检,以只管削减现实组件重衬着(re-render)。这包孕 shouldComponentUpdate 的默许完成,并对进入组件的 props 举行浅搜检(包孕从 mapStateToProps 返回的内容)。以是一样平常情况下,被 connect 的组件只要在状况值发生转变时才会重衬着。

 

参考:https://github.com/reduxjs/redux/issues/1303

-玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。