我有两个组件。
function Parent(props){
const handleClick = () => {
console.log(props.stateA);
};
return <div><Child text={stateB} handleClick={handleClick} /></div>
}
const mapStateToProps = (state) => {
return {
stateA: state.stateA // stateA will be changed somewhere else
stateB: state.stateB
}
};
export default connect(mapStateToProps)(Parent);
function Child(props) {
return <div onClick={props.handleClick}>{props.text}</div>
}
export default React.memo(Child,(prev, next) => {
return prev.text === next.text
});
我的问题是当 stateA 在某处更改时,单击Child
将记录以前的 stateA。我无法访问最新的 stateA。
你可以看到,我不想Child
在 stateA 改变时重新渲染,它应该只在 stateB 改变时重新渲染。但是我想在Parent
点击时访问最新的 stateA Child
。
有什么方法可以解决这个问题吗?