在函数中使用useDispatch和useSelector



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

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

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

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

我从和onPress调用signIn((。我接到一个无效的挂机呼叫。我做错了什么?

挂钩是让您"挂钩"React状态和生命周期的函数功能组件的特征

不要从常规JavaScript函数中调用Hooks。相反,您可以:

✅从React函数组件调用Hooks。

✅从自定义挂钩调用挂钩

您应该导入store并调用store.dispatch来调度动作

Yilmaz的建议是错误的不要那样做

您应该永远不要将存储直接导入代码库的其余部分。相反,如果您真的必须访问其他地方的存储,请从入口点注入它。

最新更新