我试图限制react-rexdux connect()触发重新渲染的次数。我在这里看过文档...
https://github.com/reduxjs/react-redux/blob/master/docs/api.md
...,据推测,有一种方法可以通过为areStatesEqual编写自己的config选项功能来防止重新渲染。问题是,我简单的console.log测试显示此选项从不触发!不知道我在做什么错。关于此功能的文档很少,甚至没有一个示例。
export const mapStateToProps = (state, ownProps) => Object.assign({
isMobileLayout: state.deviceWidthReducer.width < 480,
postalCode: state.userReducer.postalCode,
productImageGroup: state.productReducer.productImageGroup,
productId: '05047234',
}, ownProps);
export default connect(
mapStateToProps,
null,
null,
{
pure: true,
areStatesEqual: (next, prev) => {
console.log('areStatesEqual?'); // <-- THIS NEVER GETS LOGGED.
return next.productId === prev.productId;
},
},
)(Product);
答案 0 :(得分:0)
https://github.com/reduxjs/react-redux/issues/592-这可能是相关的/解释不清或误导;)
尝试使用undefined
而不是null
吗?但是我不知道这很重要。
使用“标准” shouldComponentUpdate
优化吗?