问题标签 [react-router-redux]

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.

0 投票
0 回答
197 浏览

react-router - react-router:路由更改时如何触发渲染?

react-router好的,所以我在github 问题跟踪器上提出了一个关于我<Link />没有更新 的早期问题。https://github.com/reactjs/react-router/issues/3522

在尝试在一个简单的示例中重现之后,我意识到这似乎不是react-router. 我的下一个潜在内疚要么是我复杂的设置,要么只是与react-router&的混合react-router-redux

为了继续我的调查,我一直在寻求帮助,以了解如何在路由更改时触发 Link 渲染方法,因为道具似乎没有改变。(我只是在寻找能正确适应的activeStyle)

我实际上通过添加找到了解决方法

但我认为最好有一个干净的修复:P

0 投票
0 回答
2003 浏览

javascript - react-router-redux:history.listen 不是函数

我有一个带有react-router-redux. 使用 Webpack 一切都很好。但是,当我将 Bower 与https://cdnjs.cloudflare.com/ajax/libs/react-router-redux/4.0.5/ReactRouterRedux.js(4.0.5 是最新版本,我有react-router2.4.1)一起使用时,出现以下错误:

history.listen 不是函数

这是我的代码

它记录

历史 > {长度:2,状态:对象,滚动恢复:“自动”}

并且您可以看到该属性listen丢失了。

但是,当我进入 的代码时syncHistoryWithStore,返回的对象是一个具有很多属性的对象,包括监听。

对象 { v2_compatible : true, ..., 听}

所以,看起来好像以Object某种方式转换为Symbol( History) 但我不知道为什么以及如何。

0 投票
0 回答
252 浏览

javascript - 为什么 Disqus 通用代码 (ReactJS) 出现语法错误“意外令牌”?

我只是第一次尝试 Disqus 并尝试使用通用代码,但我收到以下错误:

在此处输入图像描述 以下是代码:

任何见解或指导将不胜感激。先感谢您!

0 投票
1 回答
1148 浏览

reactjs - react-router 路由组件中作为回调的操作

我想使用 redux 操作作为onChange对 react-router 路由中事件的回调。我也在使用 react-router-redux。

就像是

动作在哪里fetchCompanies

更一般地说,我希望监听路由变化并最终与状态交互,这就是为什么使用动作对我来说似乎是最直接的选择。但是,我收到此错误:

还有另一种方法可以实现这一目标吗?尝试将动作作为回调传递给路由更改本身就很糟糕吗?如果没有,我怎样才能让它工作?

0 投票
3 回答
25592 浏览

reactjs - React-Router:如何在路由转换之前等待异步操作

是否可以在特定路由上调用称为 a 的异步 redux 操作,thunk并且在响应成功或失败之前不执行转换?

用例

我们需要从服务器加载数据并用初始值填写表格。在从服务器获取数据之前,这些初始值不存在。

像这样的一些语法会很棒:

0 投票
0 回答
208 浏览

redux - 调度动作使 react-router-redux 更改路由器道具

我正在目睹一种我无法理解的行为,而且这似乎不正确。

当我调度一个动作时,我的组件会重新渲染,因为this.props.location(以及其他,如 params 或 routeParams)发生了变化,当我说“变化”时,我的意思是指针不同,但内部属性是相同的。

调度的动作不会以任何方式改变路由,只是 redux 存储中的一些数据(在它自己的挂载键上)。

因此,shouldComponentUpdate(未覆盖)检测到更改并强制重新渲染。但是一点变化都没有!

这很烦人,因为我有一个 setInterval 例程,它每 30 秒分派一个动作来调用服务器以获取一些数据。然而,不关心这种状态变化的连接组件仍然会重新渲染。redux 面板显示只调度了这个动作,没有 LOCATION_CHANGE。

如果我拔掉 react-router-redux (删除使用syncHistoryWithStore),这种行为就会停止。

这是预期的行为,还是我错过了什么?我不想覆盖shouldComponentUpdate所有连接的组件。

您能否指出在组件中注入反应路由器道具的位置?

0 投票
2 回答
158 浏览

reactjs - 使用 react-router-redux,非路由表示组件应该如何获取位置?

有没有一种从非路由组件访问位置的好方法,其中MapStateToProp'sownProps没有填充位置?就我而言,我需要从路由组件向下几层的位置;避免大量分层参数传递是我们使用 Redux 的部分原因,所以我不倾向于将位置从路由组件向下传递到所有中间层。我最终routing直接使用商店mapStateToProps(在文档中警告),作为最好的错误选择。

该场景是一组常见的“框架”组件由父路由放置,并且它们需要根据上下文进行轻微更改。

0 投票
3 回答
20712 浏览

reactjs - 在路由更改时更新 Redux 状态

我一直试图弄清楚这一点,我越来越困惑。

每次离开或更改路线时,我都想重置/更改 Redux 状态。每次路由更改时,我都会使用react-router-redux调度动作history.listener


动作创建者:


减速器

最让我困惑的是,如果我刷新页面或在顶部导航中单击两次路由,状态会更新,但是即使操作和减速器触发,单个路由更改也不会影响 redux 状态(在控制台)。

我做错了什么,这里到底发生了什么?

0 投票
0 回答
1240 浏览

reactjs - React-router-redux 需要两次点击链接来更新位置状态

我的应用程序存在问题,无法在任何地方找到解决方案。我使用react-router-reduxsyncHistoryWithStore

当我单击导航以使用链接更改路由时,新路由会加载,浏览器中的 URL 会更新,但是location除非我单击链接两次,否则状态不会更新。

更新:我注意到它可能与 Chrome React DevTools 有关。如果我打开 React Devtools 并选择提供程序,然后一次打开一个组件树,location状态会更新并且一切正常。但是,如果我使用搜索栏定位目标组件,location状态将不再起作用,并且应用程序会中断。诡异的?!

有没有人遇到过类似的问题?知道如何解决这个问题吗?

0 投票
1 回答
78131 浏览

reactjs - 获取反应组件中的当前路径

为了确定特定菜单项的样式,我试图在我的导航组件中获取当前路径。

我已经尝试了一些常见的嫌疑人,但没有得到任何结果。特别是我认为会通过 React 注入的属性不存在。

this.props.location返回undefined

this.props.context返回undefined

我用react 15, redux 3.5, react-router 2,react-router-redux 4