【问题标题】:How to use React Router with a Component as the default page如何使用带有组件的 React Router 作为默认页面
【发布时间】:2020-02-23 18:22:30
【问题描述】:

我正在构建一个将登录页面作为默认显示页面的 Web 应用程序。当用户成功登录后,我想将用户路由到另一个功能组件 dashboard()

我的 app.js 看起来像这样

function App() {
  return (
    <ThemeProvider theme={THEME}>
      <FirebaseContext.Consumer>
        {firebase => <SignIn firebase={firebase}/>}
      </FirebaseContext.Consumer>
    </ThemeProvider>
  );
}

export default App;

SignIn 是包含登录表单的组件,以及对用户进行身份验证的操作。

export default function SignIn(props) {
   function signInUser(){
      \\Signs in a user, and redirects to Dashboard() component
   }
   return(...)
}

如何从 signInUser 内部重定向用户 函数,到另一个组件dashboard()

【问题讨论】:

标签: reactjs react-router


【解决方案1】:

从文档中,您可以使用 useHistory 钩子。

import { useHistory } from "react-router-dom";

let history = useHistory();
export default function SignIn(props) {
     function signInUser(){
        // logic here
        history.push("/dashboard") // which is your route to the Dashboard com
     }
     return(...)
}

【讨论】:

  • 如何设置路由器?如何设置路线?在我设置一些其他逻辑之前,useHistory 不起作用
  • history.push() 将路由带到您的组件。你可以使用react-router-dom来设置路由,看这里reacttraining.com/react-router/web/example/basic
猜你喜欢
  • 2016-01-08
  • 1970-01-01
  • 2019-11-17
  • 1970-01-01
  • 2021-11-26
  • 2015-02-19
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多