首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React路由器没有导航

React路由器没有导航
EN

Stack Overflow用户
提问于 2021-06-01 13:24:50
回答 2查看 35关注 0票数 2

我在导航栏里有signInsignUp

我的"/“路径呈现SignUp组件,SignUp组件有一个带有输入和按钮的表单。

在总结表单或单击按钮时,我应该被带到("/signin") SignIn页面,该页面呈现我的signIn组件。

但是,我的问题是,一旦我单击按钮或求和它仍然停留在("/") signUp页面中,并且没有导航到signIn页面("/signin")

代码:

代码语言:javascript
运行
复制
import { Redirect } from "react-router-dom";

function Signup() {
  const handleClick = () => {
    <Redirect to="/signin" />;
  };
  return (
    <div>
      <form>
        <label>
          Enter Mobile Number
        </label>
        <input />
        <button onClick={handleClick} >
          Get OTP
        </button>
      </form>
    </div>
  );
}

export default Signup;

App.js

代码语言:javascript
运行
复制
function App() {
  return (
    <Router>
      <div>
        <Nav />
        <Switch>
          <Route exact path="/" component={Signup} />
          <Route path="/signin" component={SignIn} />
        </Switch>
      </div>
    </Router>
  );
}

我试着解决这个问题,

我裹在纽扣里:

代码语言:javascript
运行
复制
<button onClick={handleClick} >
<Link to="/signin"> Get OTP </Link>
</button>

我也尝试了onSumbit的形式而不是onClick。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-01 13:41:45

一种方法是在如下的Link元素中进行组合:

代码语言:javascript
运行
复制
import { Link } from "react-router-dom";
<Link to='/'>
  <button>
     Redirect to home
  </button>
</Link>

至于形式,你可以这样做:

代码语言:javascript
运行
复制
import { history } from "react-router-dom";
<form onSubmit={() => history.push("/")}>
...
</form>
票数 3
EN

Stack Overflow用户

发布于 2021-06-01 13:29:31

您需要将按钮包装在Link中:

代码语言:javascript
运行
复制
<Link to='/'>
  <button>
     Redirect to home
  </button>
</Link>

并从“react router”中添加Link组件:

代码语言:javascript
运行
复制
import { Link } from "react-router-dom";
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67789726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档