在useEffect挂钩中使用Redux动作创建者

时间:2019-05-16 13:58:47

标签: javascript reactjs redux react-hooks use-effect

我想使用useEffect来触发2个函数(它们是redux动作的创建者)-挂载组件时一个函数,而另一个挂载时,例如:

// ...

function MyComp(props) {
  function handleSelectItem(itemId) {
    const data = props.data.filter(/* some filter logic depending on itemId */);
    props.selectItem({ itemId, data });
  }

  useEffect(() => {
    handleSelectItem(1);
    return props.deselectItem;
  }, []);
}

export default connect(null, {selectItem, deselectItem})(MyComp)

它有效,但是react-hooks/exhaustive-deps eslint规则告诉我我的useEffect有2个依赖项,我应该将其包含到依赖项数组中(useEffect的第二个参数),或者删除完全排列。第二个选项不合适,因为我不需要在每个渲染器上调用这些函数。因此,我需要将它们都包括在内。 article关于将函数包含到依赖项数组中。上面描述的事情对我来说很清楚,但是我仍然对依赖项数组中的redux动作创建者以及如何对这些功能进行浅表比较感到困惑。对我来说,这有点难以理解。解决这种特殊情况的正确方法是什么?一般来说,在useEffect中使用redux动作创建者的正确方法是什么?

0 个答案:

没有答案