react 组件接受异步的数据渲染的问题

一个组件 接受多个props,这些prop都是异步的数据(http响应的数据),组件在 component­Did­Mount 这个生命周期时,有些异步的数据已经得到响应了,有些还没有;每个 prop 在渲染到 页面层面时 还需要经过一些特别的处理;
现在的问题是 这些 对props的处理 不知道放哪里好?

1.如果放在 render,只要有任意的更新(newProps 或者 newState),所有对prop 的处理都会来一次,有些没必要。
2.放在 willReceiveProps 有些prop可能在didMount之前就已经响应,然后就会错过首次的渲染处理。
3.在 willReceiveProps 和 component­Did­Mount 都处理,这样写了很多重复的操作(虽说可以抽出重复的操作...),但是感觉不太好。

请问有更好的处理方式吗?谢谢各位大佬。
我用的是 状态管理是 redux ;听说 mobx 可以针对某个变量的变化添加钩子函数,我想要的效果就是类似这种的。。但是我不是 mobx。。。请问有大佬帮忙解决一下吗?

阅读 3.3k
1 个回答

用方法3,同时把操作抽成函数,cwr和cdm都调用一次

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏