为什么我需要在useEffect数组中添加调度?

时间:2019-06-24 12:49:02

标签: reactjs react-redux react-hooks

我阅读了文档,但是对我来说还不清楚。可能是因为我无法完全阅读英语,而我使用的是在线翻译器,但是有些东西遗漏了。

基本上,我想在呈现 Posts component 调度一个动作:

useEffect(
    () => {
        dispatch(postsFetchRequested());
    }, [dispatch]
)

useEffect ("const dispatch = useDispatch()")

上方声明了调度

我试图多次使用该效果中的分派,并且始终会发出警告,但是它起作用的唯一方法是将分派器函数放入数组中。

我已经阅读了文档,就像我说的一样,但是尚不清楚如何工作为什么需要这样做。

如果有什么灵魂可以解释的话,谢谢,我肯定会把答案标记为正确的。

编辑:使用useState之类的东西并传递一个空数组,我对数据有些了解,因为useState的初始状态也是一个空数组。但是我不理解这些调度功能如何工作。

1 个答案:

答案 0 :(得分:0)

useEffect的第二个参数告诉钩子何时调用第一个参数。传递"categorical_crossrntropy"作为第二个参数将告诉dispatch在组件安装时调用第一个参数,然后在useEffect更改时再次调用。

此外,dispatch应该在dispatch之外声明。

useEffect

要在挂载组件时使效果称为 only ,您需要传递一个空数组作为第二个参数。有关更深入的解释,请参见documentation

const dispatch = useDispatch();

useEffect(
    () => { dispatch({ type: 'FETCH_THINGS' }) },
    [dispatch]
);