Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当useContext对象更改时,不重新提交响应_Javascript_Reactjs - Fatal编程技术网

Javascript 当useContext对象更改时,不重新提交响应

Javascript 当useContext对象更改时,不重新提交响应,javascript,reactjs,Javascript,Reactjs,我正在使用useAuthhook进行身份验证。我制作了一个类似的钩子,如图所示: const AuthContext=createContext(); 导出函数ProvideAuth({children}){ const auth=useProvideAuth(); 返回{children} } 导出常量useAuth=()=>{ 返回useContext(AuthContext); } 函数useProvideAuth(){ const[user,setUser]=useState(null)

我正在使用
useAuth
hook进行身份验证。我制作了一个类似的钩子,如图所示:

const AuthContext=createContext();
导出函数ProvideAuth({children}){
const auth=useProvideAuth();
返回{children}
}
导出常量useAuth=()=>{
返回useContext(AuthContext);
}
函数useProvideAuth(){
const[user,setUser]=useState(null);
console.log(user);//最初打印“null”
//装载和重新渲染后,打印用户名
const login=(用户名、密码、回调、errorcb)=>{
...
}
//这里有一个小差异
useffect(()=>{
axios.get(
“/isLoggedIn/”,
)。然后((响应)=>{
setUser(response.data.user)
}).catch(错误=>{
setUser(空)
})
}, [])
返回{
用户,
登录,
}
}
装载时,我调用
/isLoggedIn/
,并相应地更新状态,这将触发重新渲染

但是我的
PrivateRoute
没有重新呈现,因此
user
始终保持
null
&从而再次登录页面

函数privaterout({children,…rest}){
const auth=useAuth();
报税表({
console.log(auth.user)
返回auth.user(
儿童
) : (
)
}}
>)
}
我的
App.js

函数应用程序(){
返回(
)
}

您能否使用以下方法创建可复制的样本?