当我在React应用程序中使用ScrollToTop组件时,我在浏览器中收到以下警告:
12:6行:React Hook useEffect缺少依赖项:“历史”。包括它或删除依赖项数组react-hooks / exhaustive-deps
import { useEffect } from 'react';
import { withRouter } from 'react-router-dom';
function ScrollToTop({ history }) {
useEffect(() => {
const unlisten = history.listen(() => {
window.scrollTo(0, 0);
});
return () => {
unlisten();
}
}, []);
return (null);
}
export default withRouter(ScrollToTop);
我可以做些什么删除此警告?谢谢!
您可以添加history
到useEffect()
块的依赖项列表中:
useEffect(() => {
const unlisten = history.listen(() => {
window.scrollTo(0, 0);
});
return () => {
unlisten();
}
}, [history]); // <- add history here
或者,您可以导入history
而不是将其作为prop传递,然后避免需要将其包含在useEffect()
依赖项中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句