разными значениями, и в подкомпоненте от этого объекта нужны лишь 2 значения, есть ли разница между передачей в пропс всего объекта или лишь нужных 2 значений? просто по идеи никакой разницы быть не должно, но все же
Есть разница, если передать в компонент только 2 пропса то он будет ре-рендерится если только эти 2 пропса изменятся а если передать весь объект то может начатся ересь с ре-рендером когда ты меняешь вообще левое свойство а компонент делает ре-рендер, этого можно избежать мемоизациями и тд но советую прокидать только те пропсы которые ты используешь так код будет чище (понятное дело если доходит до того что весь объект юзается то его надо прокидать полностью)
объект что прокидывается я не изменяю, это просто ответ с апи и в нем никаких изменений быть не должно, в таком случае все же нет разницы выходит? я именно про перфоманс, если условно вот объект был бы на 500 значений
Ну смотри, есть метод жизненного цикла (да он не представлен хуком но работает что в классовых что в функциональных компонентах) shouldCompomentUpdate его суть в том что он стравнивает предыдущие пропсы с нынешними и предыдущий стейт с нынешним. И вот в чём суть, если ты кроме этого объекта прокинешь ещё какую-то пропсу shouldCompomentUpdate будет проверять весь объект на 500 значенией — не прикольно. Ну и плюс я за гранулярность в пропсах и принимаемых данных (не вижу необходимости засовывать объектище с данными если ты используешь 2 свойства из него
А он че глубину стал чекать?
Мне кажется тут misundestanding как именно это можно сделать, если отак <MyComponent serverData={dataFromServerObject} /> тогда не чекнет но если гоу весь объект в пропсы засунем отак <MyComponent {…dataFromServerObject} /> то понятное дело что чекнет
Обсуждают сегодня