我正在使用react-router和connected-react-router,并且希望将我当前的应用程序状态与url相关联。我想在浏览器中更新网址而不触发实际路由。本质上,这等效于Backbone.js中的Router.navigate(如果有人熟悉该恐龙的话)。
我知道是这样的
export const openListingDetail = (props = {}) => (dispatch, getState) => {
// open the listing detail modal for listing at props.id
dispatch(push(`/listing/${props.id}`));
};
但是,这触发了我要执行的路由。
对于用例的上下文,用户正在查看一堆列表卡,当他们单击其中的一个时,我只希望动作创建者打开一个包含列表详细信息视图的模式,并基本上从{ {1}}至/search
。
我不希望它通过路由器,因为我不希望丢失搜索页面的状态,因为它正好位于列表详细信息模式的后面,用户只需关闭即可返回它模态。
我的行为在使用Backbone的应用程序的电子版本中起作用,但是我不确定如何在使用React和Redux构建的应用程序的网络版本中复制它。