Говорят, что в некоторых случаях мы можем улучшить производительность приложения React, используя React.PureComponent, потому что он сравнительно мало сравнивает свои реквизиты перед обновлением компонента.
React.PureComponent
https://reactjs.org/docs/react-api.html#reactpurecomponent
НаС другой стороны, react-redux mapStateToProps использует поверхностное сравнение, когда решает, нужно ли нам обновить компонент.
react-redux
mapStateToProps
https://redux.js.org/faq/reactredux#why-is-my-component-re-rendering-too-often
Итак, могу ли я сказать, что мне не нужно React.PureComponent когда его реквизиты от реакции-редукса connect, и у него нет состояния?Или есть какая-то разница между ними?
connect
Пока ваш компонент получает все свои реквизиты от Redux и все изменения состояния можно распознать с помощью поверхностного сравнения, вы можете использовать обычный компонент с тем же эффектом, что и PureComponent.Просто убедитесь, что при обновлении состояния вы не изменяете его, а вместо этого возвращаете новую копию состояния. Immutable.JS чрезвычайно полезен для этого.