问题标签 [react-router-v4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 如何使用 react-router 4 导航嵌套组件
我有一个带有按钮、通用背景和通用标题以及更改嵌套组件的屏幕。在此屏幕内,我想通过单击按钮来更改嵌套组件。嵌套的组件必须通过左右按钮在一个圆圈内相互更改。到目前为止,我做了很多尝试来实现这一点(我尝试使用 withRouter 来实现),我只给你我尝试的代码之一,但所有这些都不起作用。我没有收到任何错误,我看到浏览器中的路线正在改变,但屏幕没有,我只看到第一个嵌套组件。SOF 上有关于此的问题,但它们与旧版本的 react-router 有关。这是我的代码,如果您需要更多信息,请随时在评论中提问。
编辑:虽然我接受了给定的答案,但我没有测试它,在我的项目中我使用了这个解决方案:
然后在信息本身:
reactjs - 我们如何在 react-router 4.0 中维护 OidcProvider?
我们将把我们的 react-router 从版本 3 更改为 4.0,之前我们维护 redux-store 并将 store 传递给组件,如下所示:-
如何在我们的 react-router 4.0 中使用相同的 OidcProvider?请帮助我。
reactjs - React Router 4 + history.push 触发 PUSH 和 POP
所以我在我的应用程序中设置了以下路线:
在应用程序的不同部分,我使用 history.push 以编程方式在应用程序中导航,如下所示:
奇怪的是,当该代码运行时,它会触发两个操作 - 一个 PUSH 和一个 POP 导致应用程序导航两次。这是我们在单次推送后从历史监听器日志中得到的信息:
查询参数正在正确存储,其他一切似乎都工作正常,但我想知道是什么造成了这个问题,这样我的用户就不必返回两次去他实际应该去的地方。
顺便说一句,这是我如何想出历史“插件”的方法:
还有另一个实例,推送更改了 url 位置栏,但实际上并没有导航到任何地方,但我将其保存为另一个问题。
难道我做错了什么?感谢任何帮助!谢谢!
react-router-v4 - 在 actioncreator 和 react-router v.4 中使用历史重定向
在调用 API 并收到响应后,我正在尝试以编程方式在动作创建者中导航。我做了什么:我用这段代码创建了一个文件utils/History.js :
然后在动作创建者中使用它:
当然,我让相关组件知道这个路由。如果我使用<NavLink to='/sign-in'>
,它可以工作。但是如果我想在 History.replace('/sign-in') 或 History.push('/sign-in') 上渲染这个组件,我可以在地址栏中看到 'localhost:8080/sign-in',但没有出现相关组件。请帮我弄清楚。
javascript - 如何在 React Router 4 中实现经过身份验证的路由?
我试图实现经过身份验证的路由,但发现 React Router 4 现在阻止了它的工作:
错误是:
警告:你不应该在同一条路线上使用
<Route component>
和;将被忽略<Route children>
<Route children>
在那种情况下,实现这一点的正确方法是什么?
它出现在react-router
(v4)文档中,它建议类似
但是有可能在将一堆路由组合在一起的同时实现这一点吗?
经过一番研究,我想出了这个:
在 中调度一个动作是否正确render()
?感觉不对。componentDidMount
使用其他钩子或其他钩子似乎也不正确。
reactjs - React Router v4 不显示组件
当我导航到 localhost:3000/signup 时,该组件未显示是因为反应路由器已更新到 v4 并且您在反应中路由的方式现在已经改变了吗?
我有我的main.js
档案
注册组件
我正在使用反应路由器 v4,也使用 Meteor。
react-router - 如何在 react-router v4 中获取查询参数
我在我的项目中使用 react-router-dom 4.0.0-beta.6 。我有如下代码:
我想在HomePage
组件中获取查询参数。我找到了location.search
参数,它看起来像这样:?key=value
,所以它是未解析的。
使用 react-router v4 获取查询参数的正确方法是什么?
url-parameters - 将搜索字符串转换为查询对象(切换到 react-router v4 后)
切换到 react-router 4.0 后,我愚蠢地浪费了太多时间试图弄清楚如何获取 location.search 字符串并将其设置为常规查询对象。
即使在最终意识到他们不再处理查询参数(在 React Router v4 中解析查询参数)并转向URLSearchParams之后,我还是不记得如何轻松地从迭代器中提取对象。下面回答。希望它可以帮助某人。
reactjs - 安装'react-router'会给出不一致的版本
我通过这样做安装了反应路由器:
npm 安装反应路由器
我安装的内容与我在互联网上阅读的几乎所有教程都不一致。一个例子:https ://css-tricks.com/learning-react-router/
首先,它缺少IndexRoute。IndexRoute在哪里?我似乎无法让我的任何示例正常工作。