一个组件 接受多个props,这些prop都是异步的数据(http响应的数据),组件在 componentDidMount 这个生命周期时,有些异步的数据已经得到响应了,有些还没有;每个 prop 在渲染到 页面层面时 还需要经过一些特别的处理;
现在的问题是 这些 对props的处理 不知道放哪里好?
1.如果放在 render,只要有任意的更新(newProps 或者 newState),所有对prop 的处理都会来一次,有些没必要。
2.放在 willReceiveProps 有些prop可能在didMount之前就已经响应,然后就会错过首次的渲染处理。
3.在 willReceiveProps 和 componentDidMount 都处理,这样写了很多重复的操作(虽说可以抽出重复的操作...),但是感觉不太好。
请问有更好的处理方式吗?谢谢各位大佬。
我用的是 状态管理是 redux ;听说 mobx 可以针对某个变量的变化添加钩子函数,我想要的效果就是类似这种的。。但是我不是 mobx。。。请问有大佬帮忙解决一下吗?
用方法3,同时把操作抽成函数,cwr和cdm都调用一次