javascript - React-router browserHistory.push 不重定向

标签 javascript reactjs react-router

尝试使用 browserHistory.push 方法以编程方式更改我的路线。

它会改变路线(根据浏览器地址栏)但不会更新 View 。

这是我的代码 应用程序.jsx

const AppStart = React.createClass({

  render: function() {
    return (
      <MuiThemeProvider>
        <Router history={hashHistory}>
          <Route path="/" component={Main}>
            <Route path="experiences" component={Experiences} />
            <Route path="people" component={Profiles} />
            <Route path="login" component={Login} />
            <IndexRoute component={Home}/>
          </Route>
        </Router>
      </MuiThemeProvider>
    );
  }
});

ReactDOM.render(
  <AppStart />,
  document.getElementById('app')
);

组件:

handleLoginRedirect(e) {
    browserHistory.push('/experiences');
  },

  render() {
    return (
      <div className='row'>
        <div className='col-sm-10 col-sm-offset-1'>
          <form role='form'>
           <RaisedButton label="Redirect" onClick={this.handleLoginRedirect} />
          </form>
        </div>
      </div>
    );

最佳答案

您的路由器配置使用 hashHistory当你推到 browserHistory 时.

很容易错过这样的事情,这是可以理解的。

  • 替换hashHistorybrowserHistory在你的Router像这样:

<Router history={browserHistory}>

完整片段:

const AppStart = React.createClass({

  render: function() {
    return (
      <MuiThemeProvider>
        <Router history={browserHistory}>
          <Route path="/" component={Main}>
            <Route path="experiences" component={Experiences} />
            <Route path="people" component={Profiles} />
            <Route path="login" component={Login} />
            <IndexRoute component={Home}/>
          </Route>
        </Router>
      </MuiThemeProvider>
    );
  }
});

关于javascript - React-router browserHistory.push 不重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38908503/

相关文章:

javascript - 如何将日历设置为 mm-yyyy 格式

javascript - 组件更新后状态消失

reactjs - React-Testing-Library - 使用 Redux 和 Router 包装组件

javascript - 聊天消息仅在第一次有效

javascript - 访问 JSON 对象数组的 JSON 元素

javascript - 当页面滚动到页脚时,如何使我的粘性侧边栏向上滚动?

javascript - facebook/twitter 分享按钮如何避免被弹出窗口拦截器拦截?

reactjs - 在Vue中如何区分同名的prop和方法?

javascript - Firebase Analytics Googletagmanager 错误

javascript - react - react 路由器 - privateRoute - 无限循环