将Redux Actions传递给useEffect的依赖项

时间:2019-11-20 21:55:49

标签: reactjs redux react-hooks use-effect

我很难将Redux动作传递到useEffect的依赖项列表中。

例如,

import { someReduxAction } from '../actions/greatestPathEverMade'

const mapDispatchToProps = () => ({
  someReduxAction
})

const DummyComponent = ({ someReduxAction }) => {
  useEffect(() => {
    someReduxAction()
  }, [someReduxAction])

  return ( .... )
}

我有75%的肯定Redux Action不会改变,因此我可以从useEffect的依赖项数组中忽略它,但是我的问题主要是:Redux操作是否可能改变?通常,它们是恒定的,因为基本的redux动作将调度类型和有效负载对象。

1 个答案:

答案 0 :(得分:0)

ESLint exhaustive-deps规则无法知道该函数是否将更改为其他引用,因此它将始终告诉您该函数需要添加到依赖项列表中。唯一的例外是内置的React函数,例如useState设置程序或useReducer分派,React确保这些函数是稳定的引用,并以这种方式硬编码到ESLint规则中。