gpt4 book ai didi

reactjs - React Router 中的 props.history.listen 是否需要在 useEffect 中清理?如果是这样,正确的方法是什么?

转载 作者:行者123 更新时间:2023-12-01 21:47:01 40 4
gpt4 key购买 nike

我正在尝试实现一些需要监听位置的东西。

    useEffect(() => {
props.history.listen(location => {
// do stuff here
});
return () => {
props.history.listen(location => {
// now stop doing stuff
});
};
}, []);

我看到了对 unlisten() 的引用,但它没有得到很多赞成票的支持,如果我这样做了 console.log(props.history.unlisten()) 它作为不是函数

返回

这是在 App.js 中完成的。我假设这应该被清理,但我不确定它是否真的需要清理。

需要清理吗?如果可以,正确的做法是什么?

最佳答案

props.history.listen 的返回值是一个函数。调用该函数将进行拆解,因此您只需返回它:

useEffect(() => {
const unlisten = props.history.listen(location => {
// do stuff here
});
return unlisten;
}, []);

或者:

useEffect(() => {
return props.history.listen(location => {
// do stuff here
});
}, []);

关于reactjs - React Router 中的 props.history.listen 是否需要在 useEffect 中清理?如果是这样,正确的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60285627/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com