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

时间:2016-12-28 13:51:00

标签: javascript reactjs redux react-redux

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

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

}

1 个答案:

答案 0 :(得分:0)

所以我发现了一些针对此的hackish解决方法,不知道为什么它首先是必要的。

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

如果你不熟悉代码库,这个解决方案看起来并不好看,几乎无法理解,所以我只是以另一种方式做了我的路由,希望它可以帮助别人!