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 发送一个动作,它就会强制更新您的组件,并与上一页的一些信息进行比较,这样它就知道它不再在同一页面上了(查询对我有用)并且它可以停止一遍又一遍地派遣。
这个解决方案看起来不太好,如果您不熟悉代码库,也很难理解,所以我只是用另一种方式进行了路由,希望它对某人有所帮助!
出于某种原因,如果我尝试导航到某个 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 发送一个动作,它就会强制更新您的组件,并与上一页的一些信息进行比较,这样它就知道它不再在同一页面上了(查询对我有用)并且它可以停止一遍又一遍地派遣。
这个解决方案看起来不太好,如果您不熟悉代码库,也很难理解,所以我只是用另一种方式进行了路由,希望它对某人有所帮助!