我使用这段代码来更改redux中的一个值,每次我调用操作“send message”时,表单都会重新呈现,控制台日志“Page mounted”也会重复,为什么?
function Fake() {
useEffect(() => {
console.log("Page mounted");
}, []);
const changeDataInStore = ({ msg }: { msg: string }) => {
sendMessage(msg);
};
return (
<>
<div onClick={() => changeDataInStore({ msg: "test" })}>
<label>Change data</label>
</div>
</>
);
}
export default memo(Fake);
1条答案
按热度按时间c2e8gylq1#
Fake
的任何祖先(无论是调用Fake
的组件还是调用Fake
的组件的父组件等等)是否订阅了sendMessage
更新的redux状态?