javascript - React - 发出请求后如何重定向到另一个组件?

标签 javascript reactjs redirect react-router react-router-v4

我刚开始 react ,正在寻找类似于钓鱼者 $state.go 的东西。我使用的是路由器 4,但对我来说不起作用。我在网上看到的其他东西似乎不适用于路由器 4。任何帮助都会很棒!谢谢

class App extends React.Component{
  ...
  axis.post(/signup,{info})
    .then(function(){
     <Redirect if successful />
  })
}

 <HashRouter>
   <Route exact path='/' component={Home}/>
   <Route path='/login' component={Login}/>
   ...
 </HashRouter >

最佳答案

一个好的方法是通过历史库(如果你还没有它,你可以执行npm install History --save React-Routerv4也使用这个库。

以下是 ReactRouterv4 也在其文档中链接到的文档: https://github.com/ReactTraining/history

import createHistory from 'history/createBrowserHistory';

class App extends React.Component{
  ...
  axis.post(/signup,{info})
    .then(function(){
   const history = createHistory();
//listen for changes in current location

    const listen = history.listen((location, action) => {
      console.log(action, location.pathname, location.state);
    });
  //push the state as props to the route that will be redirected to
      history.push('/RouteToRedirectTo', { some: stateifneeded });

      //redirect to the route you want
      history.go('/RouteToRedirectTo');
  })
}

 <HashRouter>
   <Route exact path='/' component={Home}/>
   <Route path='/login' component={Login}/>
   ...
   </HashRouter >

关于javascript - React - 发出请求后如何重定向到另一个组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45530316/

相关文章:

javascript - 在建议列表中单击滚动条时如何使输入不失去焦点

reactjs - Internet Explorer 11 上的 SCRIPT5017 错误,使用 webpack 4、babel 7 和 React

php - 使用 javascript/php 进行动态链接/重定向

php - 如何修改MySQL导出为CSV?

iis - 强制某些页面通过 HTTPS 和其他页面到 HTTP...这可能吗?

javascript - 将数据上传到数据库而不停止站点的加载

javascript - 指定 .constructor.name 为任意字符串

javascript - react 路由器不呈现的嵌套详细信息路由

带有全局变量的 JavaScript 开关

reactjs - 绑定(bind)到在 ComponentDidMount 中调用 setState 的事件处理程序会产生警告