I have react-redux component SideBar.js which is subscribing to slice of redux state. When the redux state changes, this component gets re-rendered unnecessarily even it does not subscribe to that changing state in redux. Since my state is nested, i do not want to do deep comparisons in shouldComponentUpdate() to avoid re-rendering ... how can i avoid extra re-rendering ?
const mapStateToProps = (state) => {
return {
guestLogin:{
status : state.guestLogin.status,
marketPlace:state.guestLogin.marketPlace,
newsFeed:state.guestLogin.newsFeed
},
accountLogin:{
showMemberPosts:state.accountLogin.showMemberPosts,
newsFeed: state.accountLogin.newsFeed,
marketPlace:state.accountLogin.marketPlace,
userInfo:state.accountLogin.userInfo
},
marketPlace:{
reset:state.marketPlace.reset,
disableFilters:state.marketPlace.disableFilters,
filters:state.marketPlace.filters,
}
};
};
const mapDispatchToProps = dispatch => {
return {
guestMarketPlaceClickHandler :()=>{dispatch(marketPlaceCLickHandlerDispatcher())},
guestNewsFeedClickHandler:()=>{dispatch(newsFeedClickHandlerDispatcher())},
memberMarketPlaceClickHandler:()=>{dispatch(marketPlaceCLickHandlerDispatcher())},
memberNewsFeedClickHandler:()=>{dispatch(newsFeedClickHandlerDispatcher())},
myPostsClickHandler:()=>{dispatch(myPostsClickHandlerDispatcher());},
dispatch:(action)=>{dispatch(action)}
}
};
export default connect(mapStateToProps,mapDispatchToProps)((SideBar));