React-router,URL params和以编程方式重定向

时间:2018-05-13 09:48:34

标签: reactjs meteor react-router-v4 semantic-ui-react

我目前在使用React-router v4时遇到了一些问题,在使用网址参数时会有重定向。 这是我使用的路线:

<Route path="/blog/page/:number" component={Blog} />

我正在使用UI框架Semantic-ui-react及其组件Pagination(https://react.semantic-ui.com/addons/pagination#pagination-example-shorthand),而我无法将其元素呈现为来自react-router-dom的Links或NavLink。 / p>

相反,我必须使用事件函数onPageChange(activePage),它允许我重定向到单击的页面。 我想办法这样做,通过使用react-router-dom渲染<Redirect to={location} push />组件,除了它需要组件更新管理,因为它不会重新安装组件Blog时,它运行良好。

我的问题是,我无法使用浏览器的(Chrome)按钮向前和向后导航,它只是修改了网址并且没有重新安装该组件。 因为我无法控制浏览器&#34;之前&#34;和&#34; next&#34;按钮,我想知道如何解决它。 谢谢。

2 个答案:

答案 0 :(得分:0)

react-router具有内置的历史记录管理功能,您可以使用push(new_location)功能进行导航。

答案 1 :(得分:0)

我发现了一种方法。 实际上,当您按下浏览器的上一个和下一个按钮时,如果您使用的是同一个组件,则会触发生命周期的方法componentWillUpdate()和componentDidUpdate()。 我使用this.props.history.location解析URL,现在,我可以确保当按下按钮时组件将使用正确的数据重新呈现。

相关问题