Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Reactjs 如何在react中重定向到jwt令牌的身份验证登录?_Reactjs - Fatal编程技术网

Reactjs 如何在react中重定向到jwt令牌的身份验证登录?

Reactjs 如何在react中重定向到jwt令牌的身份验证登录?,reactjs,Reactjs,我在后端使用spring实现spring安全性和jwt安全性,并在前端做出反应,当令牌过期或没有生成令牌时,它希望重定向到登录,这就是我在验证中所做的。 这里我向您展示了我在react中使用函数而不是类来执行重定向函数的部分 export default function Dashboard() { function validateToken(){ fetch(endpoint,request) .then(response => response.json()) .then(dat

我在后端使用spring实现spring安全性和jwt安全性,并在前端做出反应,当令牌过期或没有生成令牌时,它希望重定向到登录,这就是我在验证中所做的。 这里我向您展示了我在react中使用函数而不是类来执行重定向函数的部分

export default function Dashboard() {


function validateToken(){
fetch(endpoint,request)
.then(response => response.json())
.then(data => {
  if(data.error==="Unauthorized"){
    history.push("/")
  }else{
    setUserList(data);
  }  
})}
return (
<div>
  {validateToken}
</div>)
导出默认功能仪表板(){
函数validateToken(){
获取(端点、请求)
.then(response=>response.json())
。然后(数据=>{
如果(数据错误==“未经授权”){
历史记录。推送(“/”)
}否则{
setUserList(数据);
}  
})}
返回(
{validateToken}
)

如果它工作,我会这样做。它会重定向,但在重定向之前,它会呈现页面的一部分数千秒,如果你注意它,你会看到它的外观并消失,这就是为什么我来请求你帮助,如果有任何方法在呈现某个内容之前执行该功能。

你可以保持加载状态在启动上述函数时,将加载的值设置为true。在API的值成功或出错后,将加载的值设置为false

并根据加载值,显示组件渲染代码

const [laoding, setLoading] = useState(false);

function validateToken() {
 setLoading(true);
 fetch(endpoint,request)
  .then(response => response.json())
  .then(data => {
    setLoading(false);
    if(data.error==="Unauthorized"){
      history.push("/")
    }else{
      setUserList(data);
    }  
})}

return {
  <div>
    {!loading && <Component />}
  </div>
}
const[laoding,setLoading]=useState(false);
函数validateToken(){
设置加载(真);
获取(端点、请求)
.then(response=>response.json())
。然后(数据=>{
设置加载(假);
如果(数据错误==“未经授权”){
历史记录。推送(“/”)
}否则{
setUserList(数据);
}  
})}
返回{
{!正在加载&}
}
这将避免闪烁效果