问题描述
我具有使用以下方法调度操作的上下文:
const AuthContext = createContext();
...
const loadUser = () => {
try {
dispatch({
type: types.USER_LOADED,payload: {
user: 'some_data'
}});
} catch(err) {
dispatch({ type: types.AUTH_ERROR });
}
}
然后去减速器
case types.USER_LOADED:
return {
...state,user: action.payload.user,};
const authContext = useContext(AuthContext);
useEffect(() => {
authContext.loadUser();
},[]);
然后我得到了响应钩子/详尽的下降声:
反应挂钩useEffect缺少依赖项:'authContext'。要么包含它,要么删除依赖项数组react-hooks / exhaustive-deps
我尝试将我的依赖项数组放到authContext上,但遇到了无限循环。 loadUser方法可以按预期工作,但是否可以避免收到此警告?
我也尝试过钩子,但是仍然存在相同的警告,但是在这种情况下,警告会出现在loadUser方法上,但是一切都会按预期进行:
const useAuth = () => {
const {
loadUser
} = useContext(AuthContext);
return {
loadUser
};
};
export default useAuth;
然后:
const { loadUser } = useAuth();
useEffect(() => {
loadUser();
},[]);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)