问题标签 [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.
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 服务器的答案,当用户关闭浏览器或导航离开站点时。(如果这不可能,我可以在每次导航时发布它。)然后我想在用户主页上的“最近查看”页面列表中显示此历史记录。
reactjs - 如何使用 reactjs 和 redux 处理导航
我正在使用 react-router 和 react-router-redux 来处理我页面上的导航。我需要在组件内以编程方式更改我的 url。我试图使用这种方法:history.push 来实现这一点,但这种方法只是更改 url 并且与此 url 关联的组件不会更新。这个应用程序是带有分页的简单列表,所以当我切换到下一页时,url 会发生变化,例如 /posts/1 到 /posts/2 但视图没有更新。我认为这应该像这样工作:
- 用户单击分页项和单击处理程序称为传递页码作为参数
- 在点击处理程序中,我调用 history.push(/posts/[page])。我可以使用链接组件,但我希望能够在用户单击分页项时做一些事情
- 我希望我的 ObjectList 组件将再次挂载,并且 componentDidMount 将被调用
这可能不是最好的方法,所以我会很高兴提示链接是硬编码的,尤其是第一个参数我的源代码:
客户端.js
store.js
对象列表.js
主页.js
结果.js
减速器/index.js
减速器/objects.js
应用程序.js
actionCreators.js
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/1
到shows/2
,并且如果我从那里单击设备后退按钮,shows/2
那么我应该能够转到shows/1
而不是退出应用程序。
任何形式的帮助将非常感激。
reactjs - React-router 链接,传入params
如果您有如下路线:
然后您导出该路线,因此它可以在您的应用程序中使用,例如:
如何动态设置链接中的参数?即我想这样做:
但是 params 完全被忽略了...查询只是进行查询 (?userId=) 而不是参数...有什么想法吗?
javascript - 使用 React-router 在 Redux 中间件中获取 url 参数
我想在 Redux 中间件中提取 URL 参数,以便分派一个操作并在有效负载中使用这些值。
reactjs - Redux:从 API 成功响应后打开外部 url
我想在收到来自 api 的带有生成的 url 的成功响应后打开一个 url。我正在尝试像这样在减速器中打开该网址:
对于大多数浏览器来说,这似乎工作正常,但在 safari 中不兼容。
知道如何实现跨浏览器兼容吗?有没有办法用 react-router-redux 做到这一点?
谢谢!
更新:我需要打开一个外部 url,而不是项目中的路由,所以 react-router 可能不是解决方案
reactjs - 将路由参数映射到 Redux 存储的键下
状态对象中有一个“位置”键,被多个组件用作数据源。在 URL(非常类似于谷歌地图)中,我有一个名为“位置”的参数,它是一个坐标。我的目标是将该值(经过一些修改)映射到该州的“位置”键。怎么做?
更新 我能想象的唯一方法是创建一个中间件并对路由操作做出反应,以某种方式从 URL 中提取参数,然后调度一个将由 reducer 处理的新操作。或者只使用 reducer,不需要额外的中间件。但我想这不是一个好方法......
reactjs - 从 hashHistory react-router-redux 中删除 queryKey
我找到了几个说要设置的地方queryKey: false
,但是我找不到使用我正在使用的特定软件包进行设置的地方。这是我当前的设置:
reactjs - 反应路线将子路线移动到单独的模块?
是否可以使用 React Route 执行以下操作?
主要的
轮廓
探索
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 功能似乎被破坏了......当我浏览我的应用程序时,当前活动的链接不再改变它的颜色。
我真的试图解决这个问题几个小时:(非常感谢任何帮助!