Has*_*san 0 javascript reactjs react-router react-hooks
当我在 React 应用程序中使用 ScrollToTop 组件时,我在浏览器中收到此警告:
第 12:6 行:React Hook useEffect 缺少依赖项:'history'。包括它或删除依赖数组 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);
Run Code Online (Sandbox Code Playgroud)
我可以做哪些更改来消除此警告?谢谢!
您可以添加history
到useEffect()
块的依赖项列表:
useEffect(() => {
const unlisten = history.listen(() => {
window.scrollTo(0, 0);
});
return () => {
unlisten();
}
}, [history]); // <- add history here
Run Code Online (Sandbox Code Playgroud)
或者您可以导入history
而不是将其作为道具传递,然后避免将其包含在useEffect()
依赖项中的需要。
归档时间: |
|
查看次数: |
423 次 |
最近记录: |