
获得徽章 14
- 请教一个react-redux的相关的问题:
背景:多页的项目,主要页面有定义各自的state(一级),然后这些state下的参数有很多是请求响应的对象(二级以上)
问题:函数组件通过connect 把几个state都通过...解构的方式传进来,组件中定义使用props的函数,在调用这些函数时,经常会出现props值拿到旧值的情况。
个人分析:我分析是因为闭包函数定义的时候拿到的旧值,然后浅比较不更新props,函数也不更新,component中使用this.props就不会有这种问题
尝试解决:(1)通过函数组件useEffect + useState (2)useRef
感觉都不是很优雅,请问有什么好的处理方式吗?展开赞过21 - function Parent() {
const [value, setValue] = useState(0);
useEffect(() => {
setValue(1);
}, []);
return <Child value={value}></Child>;
}
function Child(props) {
const value = props.value === 1 ? true : false;
return <div>{value}</div>;
}
请问大家,父组件在useEffect中初始化了一些参数,导致子组件样式 最开始是 false , 闪现一下变成true。这种问题应该如何解决呢?或者有什么可以查询的关键词吗?展开6点赞