日志删除项目时出错:错误:无效的钩子调用。只能在函数组件的主体内部调用钩子。这可能是由于以下原因之一:
1.你可能有不匹配的React版本和渲染器(比如React DOM)
1.你可能违反了钩的规则
1.您可能在同一个应用程序中有多个React副本,请参阅https://reactjs.org/link/invalid-hook-call了解有关如何调试和修复此问题的提示。
const login =(userEmail,userPasswd)=〉{
try {
setLoading(true);
axios.post(`${BASE_URL}/account/login`,
{ userEmail, userPasswd }
).then(res => {
let userInfo = res.data;
// console.log("Checkdata...", userInfo)
// if(res.status ==200) {
setUserInfo(userInfo)
AsyncStorage.setItem('userInfo', JSON.stringify(userInfo))
setLoading(false)
// }
}).catch(e => {
if (userEmail !== userEmail && userPasswd !== userPasswd) {
setError(`login error ${e.res}`);
setLoading(false)
Toast.show('Email or Password not match.');
}
})
} catch (error) {
setLoading(false)
console.error(error)
Toast.show('Email or Password not match.');
}
}
const logout = async () => {
try {
await AsyncStorage.removeItem('userInfo');
setUserInfo({})
useNavigate('Login')
} catch (error) {
console.log(`Error removing item: ${error}`);
}
};
2条答案
按热度按时间qaxu7uf21#
调用useNavigate的方法不能使用,可以这样使用
然后
au9on6nz2#
注解后尝试使用注销函数中的导航(“登录”)行