Sha*_*ker 1 reactjs redux react-redux react-hooks use-effect
在我的react/redux应用程序中,我使用dispatch来调用每次安装组件时从redux中的状态检索数据的操作。问题发生在useState我的方法不起作用
以下是我收到的错误:
React Hook useEffect 缺少依赖项:“dispatch”。包含它或删除依赖项数组。像“getInvoiceData”这样的外部范围值不是有效的依赖项,因为改变它们不会重新渲染组件react-hooks/exhaustive-deps
这是我的代码:
const TableSection = () => {
const invoiceData = useSelector((state => state.tables.invoiceData));
const dispatch = useDispatch()
useEffect(() => {
dispatch(getInvoiceData());
}, [getInvoiceData]);
(...)
export default TableSection;
Run Code Online (Sandbox Code Playgroud)
您需要将dispatch函数添加到 dep 数组:
const TableSection = () => {
const dispatch = useDispatch()
useEffect(() => {
dispatch(getInvoiceData());
}, [dispatch]);
Run Code Online (Sandbox Code Playgroud)
将其添加到 dep 数组是安全的,因为它的身份在渲染中是稳定的,请参阅文档。
注意:就像在 React 的 useReducer 中一样,返回的调度函数标识是稳定的,并且不会在重新渲染时更改(除非您更改传递给 的存储,这将是极其不寻常的)。
| 归档时间: |
|
| 查看次数: |
4480 次 |
| 最近记录: |