1 回答
TA贡献1772条经验 获得超5个赞
我试了一下回答你的问题。基本上,您希望能够计算一次值并仅在内容更改时更新它。您可以使用useEffect. 第一个参数useEffect是您希望在挂载/更新时发生的函数。当您的函数被卸载(如果有)时,它应该返回一个要运行的函数。第二个参数是决定是否useEffect运行的东西。我让它在user更改值时运行。希望这足以让您开始走上某些道路。您可以useEffect在文档中阅读更多信息。
function Comp2(props) {
const { user, setUser } = useContext(UserProvider);
const { state, setState } = useState({ value: '' });
useEffect(() => {
console.log(user);
// perform expensive operation
setValue({ value: 'My expensive operation is now stored' });
return () => {
// Do you have anything that you would put in componentWillUnmount()?
// Put that here
};
}, [user]);
console.log(state.value);
return (
<div>
{user.exists}
</div>
)
}
添加回答
举报