使用 react-router-dom 6 在 react 中导航

Navigate in react using react-router-dom 6

我正在开发一个 React 应用程序,我正在尝试使用 onSubmit 函数从登录表单导航到我的应用程序的主屏幕。这是我到目前为止所拥有的。在我的 formik 表单中,我试图在提交表单时传递电子邮件值。之后,用户被路由到“/dashboard”并最终进入“/dashboard/app”,我试图在控制台中获取电子邮件值。我尝试记录 route.params 和 route.email 但这给出了未定义或错误。

据我了解,您想使用一些参数进行重定向。最简单的解决方案是对状态使用“历史推送”。

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

const LoginForm = () => {
  const history = useHistory();
  const formik = useFormik({
    onSubmit: () => {
      history.push('/dashboard', {replace: true, email: values.email})
    }
  })
}

以类似的方式访问历史状态:history.state

您是要向导航添加状态吗?

原文:

onSubmit: () => {
          navigate('/dashboard', {replace:true, email: values.email})
}

更改为(有状态):

onSubmit: () => {
          navigate('/dashboard', {replace:true,
                                  state: { 
                                           email:values.email
                                          }
                                   })
}