redux 不会强制使用 browserHistory.push() 的 mapStateToProps

redux doesn't force mapStateToProps with browserHistory.push()

出于某种原因,如果我尝试导航到某个 URL,该 URL 与当前的完全相同,但具有不同的查询或相同的 URL 但没有查询 它似乎没有检测到它必须再次 mapStateToProps 。 如果我 运行 componentWillReceiveProps 我可以看到 React 确实检测到变化(接收到当前显示的相同道具),但由于某种原因 redux 没有。任何想法可能是什么问题?

function mapStateToProps(state) {
    console.log(state);
    return {
        listings: state.mainState.Listings,
        publisher: state.mainState.profilePopUp,
        User: state.mainState.userCookie
    };

}

所以我找到了某种 hackish 解决方法,不知道为什么它是必要的。

只需通过 componentWillReceiveProps 发送一个动作,它就会强制更新您的组件,并与上一页的一些信息进行比较,这样它就知道它不再在同一页面上了(查询对我有用)并且它可以停止一遍又一遍地派遣。

这个解决方案看起来不太好,如果您不熟悉代码库,也很难理解,所以我只是用另一种方式进行了路由,希望它对某人有所帮助!