我对 React Router 有一个简单的配置。我还有另一个基本上用 ... 包裹的,它有效。但是这个没有(当然我尝试使用不同的实现,就像答案中建议的那样)这个帖子 https://stackoverflow.com/questions/31079081/programmatically-navigate-using-react-router以及许多其他人。
控制台错误是这篇文章的标题。
使用 ES6 和 React-router v.1 以及基于哈希的路由。
I read a lot文章太多了,对于实现简单的路由来说太不必要了,现在几乎讨厌react和react-router。请帮忙。
componentWillReceiveProps() {
this.contextTypes = {
history: React.PropTypes.object
}
},
_handleRoute(e) {
e.preventDefault()
this.history.pushState(null, `/somepath`);
},
render() {
return(
<div onClick={this._handleRoute}>
Some Content.
</div>
);
}
or:
render() {
return(
<div>
<Link to={`/somepath`}> link </Link>
</div>
);
}
反应路由器 v1:
历史对象中有为此目的创建的 PushState 方法。
首先,分配给 router 的组件必须为子组件提供 pushState 方法作为函数 prop:
//Router Component
render ()
return (
<SomeComponent changeRoute={this.props.history.pushState}
)
然后,在我想要更改函数中的路由的组件中,我只需执行以下操作:
//SomeComponent
onClick() {
this.props.changeRoute(null, 'somepath', {query: "something"});
}
React 路由器 v.2
import {browserHistory} from 'react-router';
//SomeComponent
browserHistory.push('somepath');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)