问题标签 [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 投票
1 回答
1589 浏览

redux - 使用 history.js 在 React Redux 架构中使用 SSR 存储 browserHistory

如何保存访问 SSR react-redux 应用程序的用户的完整路由器历史记录?我试过修改 react-redux-router 包的 reducer.js 文件……但是当用户通过 SSR 加载时,历史数组被重置。

参考:https ://github.com/reactjs/react-router-redux/blob/master/src/reducer.js

但是,我认为这应该在中间件中实现

无论如何,这(存储整个先前的会话历史)似乎是一个足够常见的用例,也许有人已经制定了最佳实践。??

也许甚至可以通过没有 react-router-redux 的 react-router 中的 historyjs 对象访问完整的历史记录。

我正在寻找有关如何在 redux 状态下存储用户会话的完整历史并将其发布到我的 api 服务器的答案,当用户关闭浏览器或导航离开站点时。(如果这不可能,我可以在每次导航时发布它。)然后我想在用户主页上的“最近查看”页面列表中显示此历史记录。

0 投票
1 回答
784 浏览

reactjs - 如何使用 reactjs 和 redux 处理导航

我正在使用 react-router 和 react-router-redux 来处理我页面上的导航。我需要在组件内以编程方式更改我的 url。我试图使用这种方法:history.push 来实现这一点,但这种方法只是更改 url 并且与此 url 关联的组件不会更新。这个应用程序是带有分页的简单列表,所以当我切换到下一页时,url 会发生变化,例如 /posts/1 到 /posts/2 但视图没有更新。我认为这应该像这样工作:

  1. 用户单击分页项和单击处理程序称为传递页码作为参数
  2. 在点击处理程序中,我调用 history.push(/posts/[page])。我可以使用链接组件,但我希望能够在用户单击分页项时做一些事情
  3. 我希望我的 ObjectList 组件将再次挂载,并且 componentDidMount 将被调用

这可能不是最好的方法,所以我会很高兴提示链接是硬编码的,尤其是第一个参数我的源代码:

客户端.js

store.js

对象列表.js

主页.js

结果.js

减速器/index.js

减速器/objects.js

应用程序.js

actionCreators.js

0 投票
0 回答
103 浏览

javascript - 在 React JS 中,历史没有保存在具有不同路由参数的同一个组件中

我正在为 windows mobile 开发一个 react js 应用程序。我的路线配置如下

我在第一条路线中有 3 个标签,其网址类似于

我正在使用 react-router 和标签是标签

我如何导航? 当我运行应用程序时,第一页将是shows/1,如果我点击第二个选项卡,那么路线将是shows/2

浏览器中发生了什么? 当我在浏览器中运行应用程序时,我可以看到 show/1,如果我单击第二个选项卡,我可以看到 url 正在更改为shows/2. 在这里,当我单击浏览器后退按钮时,它会导航到 show/1。当我从设置页面转到设置页面shows/2并在设置页面中单击浏览器后退按钮时,我可以看到该shows/2页面,这完全没问题。

设备中发生了什么? 当我在设备中运行应用程序时,我可以看到 show/1,如果我单击第二个选项卡,我可以看到第二个选项卡(shows/2)的内容。在这里,当我单击设备后退按钮时,应用程序正在退出。当我从设置页面转到设置页面shows/2并在设置页面中单击设备后退按钮时,我可以看到该shows/2页面,这完全没问题。

有什么问题? 我觉得,如果我从一个选项卡移动到另一个基本上是一个单一组件的选项卡,则设备导航不会保存。

我试过什么? 我试图Link从选项卡中删除并添加一个点击事件,在点击处理程序中我使用下面的代码,但没有用。

应该是什么行为? 在设备中,如果我从 导航shows/1shows/2,并且如果我从那里单击设备后退按钮,shows/2那么我应该能够转到shows/1而不是退出应用程序。

任何形式的帮助将非常感激。

0 投票
3 回答
24057 浏览

reactjs - React-router 链接,传入params

如果您有如下路线:

然后您导出该路线,因此它可以在您的应用程序中使用,例如:

如何动态设置链接中的参数?即我想这样做:

但是 params 完全被忽略了...查询只是进行查询 (?userId=) 而不是参数...有什么想法吗?

0 投票
2 回答
6067 浏览

javascript - 使用 React-router 在 Redux 中间件中获取 url 参数

我想在 Redux 中间件中提取 URL 参数,以便分派一个操作并在有效负载中使用这些值。

0 投票
3 回答
5322 浏览

reactjs - Redux:从 API 成功响应后打开外部 url

我想在收到来自 api 的带有生成的 url 的成功响应后打开一个 url。我正在尝试像这样在减速器中打开该网址:

对于大多数浏览器来说,这似乎工作正常,但在 safari 中不兼容。

知道如何实现跨浏览器兼容吗?有没有办法用 react-router-redux 做到这一点?

谢谢!

更新:我需要打开一个外部 url,而不是项目中的路由,所以 react-router 可能不是解决方案

0 投票
2 回答
1523 浏览

reactjs - 将路由参数映射到 Redux 存储的键下

状态对象中有一个“位置”键,被多个组件用作数据源。在 URL(非常类似于谷歌地图)中,我有一个名为“位置”的参数,它是一个坐标。我的目标是将该值(经过一些修改)映射到该州的“位置”键。怎么做?

更新 我能想象的唯一方法是创建一个中间件并对路由操作做出反应,以某种方式从 URL 中提取参数,然后调度一个将由 reducer 处理的新操作。或者只使用 reducer,不需要额外的中间件。但我想这不是一个好方法......

0 投票
1 回答
1353 浏览

reactjs - 从 hashHistory react-router-redux 中删除 queryKey

我找到了几个说要设置的地方queryKey: false,但是我找不到使用我正在使用的特定软件包进行设置的地方。这是我当前的设置:

0 投票
1 回答
1181 浏览

reactjs - 反应路线将子路线移动到单独的模块?

是否可以使用 React Route 执行以下操作?

主要的

轮廓

探索

0 投票
1 回答
1355 浏览

javascript - 连接 redux-store 后, React-Router组件未应用 activeStyle

我最近开始学习 React / Redux,现在我正在尝试构建一个小型单页应用程序。

最近我遇到了一个我不理解且无法解决的问题。

让我给你看一下代码:

index.js

基本上这是来自 to react-router-redux GitHub 页面的示例(向下滚动到Tutorial部分)-唯一的区别是,我使用的是hashHistory

应用程序.js

导航.js

Home 和 About 组件只是渲染一个 <h1> 标题来可视化 SPA 的状态。

到目前为止,一切都如您所愿!当用户单击About链接时,URL 会相应更改并且链接变为红色(由于 activeStyle 属性)。

但是我的问题来了(感谢您仍然阅读此顺便说一句):

我想通过react-redux connect() 包装我的 <Navigation> 组件。所以这是我的新版本

导航.js

但是现在 activeStyle 功能似乎被破坏了......当我浏览我的应用程序时,当前活动的链接不再改变它的颜色。

我真的试图解决这个问题几个小时:(非常感谢任何帮助!