为了账号安全,请及时绑定邮箱和手机立即绑定

react组件的状态是应该放在组件state还是其他第三方状态器里[比如redux-store]中?

react组件的状态是应该放在组件state还是其他第三方状态器里[比如redux-store]中?

海绵宝宝撒 2018-09-23 21:46:56
之前项目是state和redux混合使用. 区分的逻辑大多是:该状态是否有其他组件共享. 比如登录用户的角色信息. 许多组件根据角色的不同有不同的渲染.当销毁该组件后, 重新加载该组件是否需要初始化为上次的状态. 比如上次的查询条件或结果. 切换路由后再切换回来希望仍看到上次的数据.后来写起来很混乱, 干脆全部使用redux废弃了所有状态组件. 触发要使用生命周期, 否则全都是函数组件了.不过最近在思考一个问题. 如果存在组件嵌套的情况, 比如function Father(props){    const { a , b } = props;    return {        <div>             <A state={a}/>             <B state={b}/>         </div>     } } function B(props) {    const { c } = props;    return {        <div>             <C state={c} />         </div>     } }如果connect在Father上的store任意部分变化, 比如store.b.c变化, 会造成其他组件的重新渲染. 这样性能会不会不如放在state上好. 如果store.b.c是存在B的state上, 那么应该只会有组件B重新刷新, 不会影响到Father和A求大神解惑
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

reselect正是你需要的。
reselect

查看完整回答
反对 回复 2018-09-23
  • 1 回答
  • 0 关注
  • 917 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信