Javascript redux不';使用browserHistory.push()强制MapStateTops

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 {

出于某种原因,如果我尝试导航到与当前URL完全相同的某个URL,但有不同的查询或相同的URL而没有查询 它似乎没有检测到必须再次映射StateToprops。 如果我运行componentWillReceiveProps,我可以看到React确实检测到更改(接收当前显示的相同道具),但由于某种原因redux没有检测到。你知道问题出在哪里吗

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找到了解决这个问题的方法,谢谢!