React:如果用户已经登录,如何重定向到另一个URL?

阿育·古普塔(Ayush Gupta)

我正在尝试将用户重定向到,/dashboard如果用户已登录,但是我遇到此错误:

TypeError:无法读取未定义的属性“ push”

我的家庭组件:

const Home = (props) => {
  const { isLoggedIn } = useSelector((state) => state.login);

  if (isLoggedIn) {
    props.history.push("/dashboard"); // This line is producing the error
    window.location.reload();
  }
  return (
    <div>
      <Header />
      <Switch>
        <Route exact path='/login' component={Login} />
        <Route exact path='/dashboard' component={Dashboard} />
        <Redirect to='/' />
      </Switch>
    </div>
  );
};

export default Home;

我对props.history.push("/dashboard");我的登录组件尝试了相同的方法(),但没有得到任何错误。我想知道为什么会发生此错误,以及如何解决此问题?

罗伯特·泰瑞尔
import React, {useEffect} from 'react'
import {useHistory} from 'react-router-dom'


const Home = () => {

const history = useHistory()
  const { isLoggedIn } = useSelector((state) => state.login);



  useEffect(()=> {
    if (isLoggedIn) {
      history.push("/dashboard"); // This line is producing the error
  }
  },[isLoggedIn, history]) //also add history dependency

  return (
    <div>
      <Header />
      <Switch>
        <Route exact path='/login' component={Login} />
        <Route exact path='/dashboard' component={Dashboard} />
        <Redirect to='/' />
      </Switch>
    </div>
  );
};

export default Home;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果未登录,将用户重定向到另一个页面?

Angular 5-如果用户已登录,则重定向到另一个视图

如果用户不在 nextjs 中,如何重定向到另一个页面

如何在 Windows 加载时将用户重定向到另一个 url

用户使用Ion Auth CodeIgniter登录后如何将用户重定向到另一个页面

承诺后如何使用react-router重定向到另一个URL?

如果用户单击 div,则如何在用户不重定向到另一个页面时停止

Next.js-如果用户访问特定的URL,则重定向到另一个页面的最佳方法

如何将SSH用户重定向到另一个SSH登录名?

登录后如何基于JWT令牌将用户重定向到另一个页面?

如果 url 匹配模式 htaccess,则重定向到另一个目录

谷歌登录反应后如何重定向到另一个组件

OnClick 将用户重定向到另一个 url

React:重定向到另一个页面

使用.htaccess从外部将已经SEO友好的URL重定向到另一个SEO友好URL

如果函数不存在,如何重定向到另一个脚本?

如果变量为空,如何重定向到 JQuery 中的另一个页面

如果表单无效,如何重定向到另一个视图/页面

如何重定向到另一个网页?

如何重定向到另一个页面

如何重定向到另一个页面?

如何从链接重定向到另一个?

如何将用户从控制器重定向到另一个域

如何将用户请求重定向到Kubernetes中的另一个部署?

如何接受用户输入,但将其全部重定向到另一个文件?

如何使用 getServerSideProps 将用户重定向到另一个页面?

如何使用jQuery将最终用户重定向到另一个网页

如何将用户重定向到另一个内部页面?

如何使用 /etc/hosts 将 URL 重定向到另一个 URL