Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 以编程方式响应路由器、URL参数和重定向_Reactjs_Meteor_React Router V4_Semantic Ui React - Fatal编程技术网

Reactjs 以编程方式响应路由器、URL参数和重定向

Reactjs 以编程方式响应路由器、URL参数和重定向,reactjs,meteor,react-router-v4,semantic-ui-react,Reactjs,Meteor,React Router V4,Semantic Ui React,我目前在使用React router v4时遇到一些问题,在使用URL参数时会出现重定向。 以下是我使用的路线: <Route path="/blog/page/:number" component={Blog} /> 我使用的是UI框架语义UI react及其组件分页(),无法从react路由器dom将其元素呈现为链接或导航链接 相反,我必须使用事件函数onPageChange(activePage),它允许我重定向到单击的页面。 我找到了一种方法,通过从react rout

我目前在使用React router v4时遇到一些问题,在使用URL参数时会出现重定向。 以下是我使用的路线:

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

我使用的是UI框架语义UI react及其组件分页(),无法从react路由器dom将其元素呈现为链接或导航链接

相反,我必须使用事件函数
onPageChange(activePage)
,它允许我重定向到单击的页面。 我找到了一种方法,通过从react router dom呈现一个
组件,它工作得非常好,只是它需要一个组件更新管理,因为它不会重新装载组件日志

我的问题是,我不能使用浏览器的(chrome)按钮向前和向后导航,它只是修改URL,而没有重新安装组件。 由于我没有钩子来控制浏览器的“上一页”和“下一页”按钮,我想知道如何修复它。
谢谢。

react路由器具有内置的历史管理功能,您可以使用
推送(新位置)
功能导航。

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

欢迎使用Stackoverflow。你的问题不是很清楚。您需要编程路由还是实现正向和反向路由?请准确。可能是重复的。谢谢。其实这个问题不是重复的。我已经读过这篇文章,但我没有找到我的问题的答案。给出的解决方案不适合我的情况,因为我使用的是语义ui组件。react router v4的问题是,如果在重定向中使用相同的组件,则方法推送将无法完成任务。只是因为它不会卸载和重新装载它。你必须在componentDidUpdate中使用URL管理,或者在browserRouter中使用forceRefresh道具。是的,我就是这么做的。componentDidUpdate检查状态是否应更改。你有什么理由不能那样做吗?