首页 > 解决方案 > 如何将成功登录从 Axios 重定向到另一个页面?

问题描述

我想登录成功然后转到另一个页面。我查了一下文档,使用redux或者类组件。(我不使用redux。)所以我尝试了一下,没有响应。

function SignUp(){
  const [redirect, setRedirect]=useState(null);
  if(redirect){
    return <Redirect to={Home}/>
  }
}

export function SignIn({url, id, password}){
    const data={
      id,
      password,
    };
    const params=new URLSearchParams();
    axios(
      {
        url: url,
        method: 'POST',
        baseURL: ' ',
        data: data,
        params: {
          'id':data.id,
          'password':data.password,
        },
        headers: {
           //code
        },
      }
    )
    .then(function(response){
      if (response.data.response.result==200) {
        SignUp();
        console.log('success');
      }
    })
    .catch(function(error){
      console.log(error);
    })
}

这是我尝试的第一个代码。

.then(function(response){
      if (response.data.response.result==200) {
        <Route>
         <Redirect to={{ pathname: '/DeviceManage', component:{Home}}}/>
        </Route>
        console.log('success');
      }
    })

但没有回应。TT 感谢您帮助解决问题。!!

标签: reactjsreact-routeraxiosreact-functional-component

解决方案


您的代码看起来像是在 Javascript 上下文而不是 JSX 下。Javascript 不知道如何直接解释 JSX。我猜你现在正在收到 Javascript 错误。为什么不试试:

axios(
  ...
) .then( () => {
   console.log('success');
   window.location.href = '/DeviceManage';

}).catch( ... );

推荐阅读