【发布时间】:2019-05-21 14:04:24
【问题描述】:
我有一个上下文,用于在我的应用程序执行长时间运行的任务时显示整页微调器。
当我尝试在useEffect 中访问它时,我收到react-hooks/exhaustive-deps ESLint 消息。例如,以下代码虽然按预期工作,但指出 busyIndicator 是缺少的依赖项:
const busyIndicator = useContext(GlobalBusyIndicatorContext);
useEffect(() => {
busyIndicator.show('Please wait...');
}, []);
This 文章建议我可以使用 useCallback 包装函数,如下所示:
const busyIndicator = useContext(GlobalBusyIndicatorContext);
const showBusyIndicator = useCallback(() => busyIndicator.show('Please wait...'), []);
useEffect(() => {
showBusyIndicator();
}, [showBusyIndicator]);
虽然这可行,但它已将问题移至 useCallback 行,该行现在抱怨缺少依赖项。
在这种情况下可以忽略 ESLint 消息还是我错过了什么?
【问题讨论】:
标签: reactjs react-hooks