В прошлом году я написал довольно крупное приложение с использованием React и Redux, у которого был только один подписчик на корневом уровне.Шаблон был (примерно) следующим образом:
const myApp = () => {
store.subscribe(render);
render();
};
module.exports = myApp;
const render = () => {
const rootDOMElement = document.getElementById('root');
ReactDOM.render(
<section className="myApp">
...
</section>,
rootDOMElement
);
};
По сути, я «рендерил все это каждый раз», будучи уверенным в том, что React в целом будет только заново воспроизводить компоненты-потомки, которые действительно нужныбыть перерисованным.Это работало исключительно хорошо, даже когда приложение масштабировалось до тысяч экземпляров компонентов.
Теперь, однако, мне интересно, является ли это разумным советом для передачи другим.Я не нашел четкого руководства (хотя, по общему признанию, я мог бы выглядеть сложнее).Обычно создается впечатление, что большинство людей пишут множество компонентов, которые подписываются на магазин в эти дни.См., Например:
https://www.reddit.com/r/javascript/comments/6hperk/i_use_react_and_redux_but_never_reactredux_what/dj0fywb/
Но разве не вся идея React или хотя бы одна из идей о том, что вам не следует беспокоиться о том, что происходит подкапот?Подписка на корневом уровне работает хорошо именно потому, что React достаточно умен, чтобы знать, что не нужно перерисовывать все, верно?Или я упускаю суть?Снова стоит отметить, что мое приложение работало исключительно хорошо, и мне никогда не приходилось думать о производительности.