redux 在函数内使用useDispatch和useSelector

wyyhbhjk  于 2022-11-12  发布在  其他
关注(0)|答案(2)|浏览(150)

我尝试从一个处理api调用的非组件函数内部调用dispatch。结构如下:

-MainApp.js
-scripts/
--auth.js

在scripts/auth.js中,它看起来像这样:

export async function signIn(nav) {
    const dispatch = useDispatch();
    try {
        ...
        dispatch(setIsAuthed(true));
    }
    ...
}

我从和onPress调用了signIn()。我得到了一个无效的挂钩调用。我做错了什么?

x7yiwoj4

x7yiwoj41#

挂钩是允许您从函数组件“挂钩到”React状态和生命周期特性的函数
不要从常规JavaScript函数中调用挂钩。相反,您可以:
从React函数组件调用挂钩。
从自定义挂钩调用挂钩
您应该导入store并调用store.dispatch以调度操作

4zcjmb1e

4zcjmb1e2#

Yilmaz的建议是错误的。不要 * 这样做!
你应该 * 永远 * 将存储直接导入到代码库的其余部分。相反,如果你真的 * 必须 * 在其他地方访问存储,从入口点注入它。

相关问题