Есть ли способ React-okay передать новые реквизиты детям без повторной рендеринга родителя? Ничто в родительском компоненте не меняется, за исключением того, что новые реквизиты передаются этому компоненту, который передается его дочерним элементам. Я думал, что контекст может быть уместным в этой ситуации, но похоже, что в документации указано иное.Передача реквизита детям без повторной рендеринга родителя
0
A
ответ
1
Это зависит от того, что вы имеете в виду под реакцией - хорошо. На самом деле вы можете использовать contexts, но я не рекомендую его. Гораздо проще рассуждать и отлаживать реквизиты, проходящие прямо через вашу иерархию представлений, и если родитель не меняется вообще, функция рендеринга должна быть довольно дешевой для выполнения.
Если это не так, вам может потребоваться переосмыслить, как вы структурируете свои компоненты. Например, вы можете захотеть разделить дорогостоящую часть на отдельный компонент, который будет отображаться только тогда, когда соответствующие реквизиты действительно изменились или, по крайней мере, обеспечит дорогостоящую функциональность за условной реквизитом.
Смежные вопросы
- 1. Передача реквизита родовым детям
- 2. Обновление коллекции backbone.js без повторной рендеринга шаблона
- 3. Handlebars - обновить шаблон без повторной рендеринга DOM
- 4. Передача реквизита активного обработчика маршрутизатора
- 5. ReactJS - Передача реквизит (состояние) детям детей
- 6. Передача ключей детям в React.js
- 7. React.js: присоединить событие от родителя к детям
- 8. Обеспечить детям закончить до родителя заканчивается
- 9. JavaFx запрещает детям запускать setOnMouseEntered для родителя
- 10. Доступ к детям через родителя в Django
- 11. Невозможно вызвать функцию реквизита, переданную детям в цикле. Реакция
- 12. Reactjs - правильный способ наследования реквизита детям первого уровня и вложенным детям
- 13. Реакция: попытка рендеринга реквизита, который заполняется ПОСЛЕ рендеринга
- 14. Передача реквизита дочернему компоненту Cyclejs
- 15. Передача реквизита между компонентами Reactjs
- 16. ReactJS передача реквизита динамического компонента
- 17. Реагировать маршрутизатор сервер рендеринга с сервером реквизита
- 18. Отправка данных из NodeJS без повторной рендеринга всей страницы?
- 19. BB Marionette: лучший способ обновить коллекцию без повторной рендеринга
- 20. Лучший способ добавить строку в таблицу HTML без повторной рендеринга
- 21. как вернуться к предыдущей деятельности без повторной рендеринга
- 22. Meteor - Как телескоп загружает больше сообщений без повторной рендеринга?
- 23. Обновление дочернего компонента через изменение реквизита от родителя в реакторе
- 24. Vue.js: Передача анонимных функций в объекте реквизита
- 25. Передача реквизита от ребенка к родительскому (без контекста)
- 26. Sitecore: Получить параметры рендеринга родителя
- 27. Передача реквизита дети компонентов с реагировать маршрутизаторы v4
- 28. Angular 2 отправить событие от родителя ко всем детям
- 29. Компонент, не обновляющий обновление реквизита
- 30. Передача Params к детям компонентов в Knockout
какой? вся точка реквизита должна быть передана от родителя к ребенку. вы не возвращаете родителя. если данные изменяются для ребенка .. но не родительский ... он не отображается повторно. вот и вся точка реагирует на виртуальный дом. –
Под «повторным рендерингом» я предполагаю, что вы снова вызываете функцию «render()». Если нет, вам не о чем беспокоиться благодаря виртуальной DOM. В любом случае, вы можете использовать flux/redux, но это тоже может быть грязным. Или может иметь смысл иметь какую-то функцию обратного вызова, которая обновляет внутреннее состояние дочернего компонента. Трудно думать о какой-либо законной причине, чтобы не называть 'render()' несколько раз, хотя. Он должен быть идемпотентным и редко медленным. Если производительность является проблемой, посмотрите на 'shouldComponentUpdate'. –