Javascript redux不';使用browserHistory.push()强制MapStateTops
出于某种原因,如果我尝试导航到与当前URL完全相同的某个URL,但有不同的查询或相同的URL而没有查询 它似乎没有检测到必须再次映射StateToprops。 如果我运行componentWillReceiveProps,我可以看到React确实检测到更改(接收当前显示的相同道具),但由于某种原因redux没有检测到。你知道问题出在哪里吗Javascript redux不';使用browserHistory.push()强制MapStateTops,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,出于某种原因,如果我尝试导航到与当前URL完全相同的某个URL,但有不同的查询或相同的URL而没有查询 它似乎没有检测到必须再次映射StateToprops。 如果我运行componentWillReceiveProps,我可以看到React确实检测到更改(接收当前显示的相同道具),但由于某种原因redux没有检测到。你知道问题出在哪里吗 function mapStateToProps(state) { console.log(state); return {
function mapStateToProps(state) {
console.log(state);
return {
listings: state.mainState.Listings,
publisher: state.mainState.profilePopUp,
User: state.mainState.userCookie
};
}
所以我找到了一种黑客的解决方法,不知道为什么一开始就有必要这么做 只需通过componentWillReceiveProps发送一个操作,这样它就可以强制更新您的组件,并与上一页的一些信息进行比较,这样它就知道它不再在同一页上了(查询对我有效),并且可以停止一次又一次的发送
这个解决方案看起来不太好,如果您不熟悉代码库,就很难理解,所以我只是用另一种方式进行路由,希望它能帮助别人 所以我找到了一种解决这个问题的方法,不知道为什么一开始就有必要这么做 只需通过componentWillReceiveProps发送一个操作,这样它就可以强制更新您的组件,并与上一页的一些信息进行比较,这样它就知道它不再在同一页上了(查询对我有效),并且可以停止一次又一次的发送
这个解决方案看起来不太好,如果您不熟悉代码库,就很难理解,所以我只是用另一种方式进行路由,希望它能帮助别人 有什么问题吗?道具应该改变,而不是改变?你根本没有收到道具吗?@BravoZulu我的组件收到的道具是相同的,即使它应该根据查询提供新的道具。如果该查询触发操作,你应该发布你的存储。。所有进入redux的内容都显示了为什么没有change@BravoZulu找到了解决这个问题的方法,谢谢!有什么问题吗?道具应该改变,而不是改变?你根本没有收到道具吗?@BravoZulu我的组件收到的道具是相同的,即使它应该根据查询提供新的道具。如果该查询触发操作,你应该发布你的存储。。所有进入redux的内容都显示了为什么没有change@BravoZulu找到了解决这个问题的方法,谢谢!