Подключение вашего компонента к redux делает его PureComponent.То есть, он сделает поверхностное сравнение реквизита, чтобы решить, нужно ли сделать повторный рендеринг.Вложив значения вашего хранилища в mapStateToProps
, вы гарантируете, что поверхностное сравнение не удастся.
То есть guestLogin: {...}
каждый раз создает новый объект для значения guestLogin.
Youможно использовать reselect
или эквивалентное решение для создания селекторов, которые возвращают одни и те же объекты, пока состояние не изменяется, или просто сделать ваш mapStateToProps поверхностным, например ..
const mapStateToProps = (state) => {
return {
glStatus : state.guestLogin.status,
glMarketPlace:state.guestLogin.marketPlace,
glNewsFeed:state.guestLogin.newsFeed
alShowMemberPosts:state.accountLogin.showMemberPosts,
alNewsFeed: state.accountLogin.newsFeed,
alMarketPlace:state.accountLogin.marketPlace,
alUserInfo:state.accountLogin.userInfo
mpReset:state.marketPlace.reset,
mpDisableFilters:state.marketPlace.disableFilters,
mpFilters:state.marketPlace.filters,
};
};