Нужен ли React.PureComponent, когда компонент "подключен" к хранилищу реагирует на избыточность? - PullRequest
0 голосов
/ 22 октября 2018

Говорят, что в некоторых случаях мы можем улучшить производительность приложения React, используя React.PureComponent, потому что он сравнительно мало сравнивает свои реквизиты перед обновлением компонента.

https://reactjs.org/docs/react-api.html#reactpurecomponent

НаС другой стороны, react-redux mapStateToProps использует поверхностное сравнение, когда решает, нужно ли нам обновить компонент.

https://redux.js.org/faq/reactredux#why-is-my-component-re-rendering-too-often

Итак, могу ли я сказать, что мне не нужно React.PureComponent когда его реквизиты от реакции-редукса connect, и у него нет состояния?Или есть какая-то разница между ними?

1 Ответ

0 голосов
/ 22 октября 2018

Пока ваш компонент получает все свои реквизиты от Redux и все изменения состояния можно распознать с помощью поверхностного сравнения, вы можете использовать обычный компонент с тем же эффектом, что и PureComponent.Просто убедитесь, что при обновлении состояния вы не изменяете его, а вместо этого возвращаете новую копию состояния. Immutable.JS чрезвычайно полезен для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...