我正试图从一个处理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的建议是错误的做不要那样做
您应该永远不要将存储直接导入代码库的其余部分。相反,如果您真的必须访问其他地方的存储,请从入口点注入它。