Size: a a a

React — русскоговорящее сообщество

2021 April 11

13

123 321 in React — русскоговорящее сообщество
парни. продублирую свой вопрос. ибо никто ничем еще не помог.
у меня есть usestate внутри которого объект, который состоит из пар ключ-значение.
удаление одной пары ключ значение вызывает ререндеринг всех элементов.
добавление же пары ключ-значение не вызывает такого ререндеринга.
что делать, чтоб не было ререндеринга при удалении ключа-значения из объекта, который установлен в usestate?
источник

i

iwannafly in React — русскоговорящее сообщество
шик
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
источник

13

123 321 in React — русскоговорящее сообщество
там пару тыс. строк кода. щас изолирую кусок
источник
2021 April 12

UT

Unknown T. in React — русскоговорящее сообщество
Зачастую в процессе подготовки песочницы проблема решается )
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
+
источник

i

iwannafly in React — русскоговорящее сообщество
а можно вопрос а зачем удалять что-то из объекта?
источник

13

123 321 in React — русскоговорящее сообщество
const [usMes, setUsMes] = useState({});

  var obj = Object.assign({}, usMes);
 
  ////////
  манипуляции с obj. добавление новых элементов.
  ////////
   for (let key in obj) {
           if (!_users.includes(key)) {
               delete (obj[key]); -------------------из за этого происходит ререндеринг всей страницы
           }
       }
       setUsMes(obj);
источник

13

123 321 in React — русскоговорящее сообщество
короче я так понял, что если удалять элемент, это будет глубоким изменением стейта, и будет автоматический ререндеринг.
источник

i

iwannafly in React — русскоговорящее сообщество
доктор, меня игнорируют 😕
источник

D

D M in React — русскоговорящее сообщество
Ну ты изменил state, страница ререндерится. Все логично
источник

А

Артур in React — русскоговорящее сообщество
Уточни, попытаюсь объяснить
источник

DP

Dmitry Plyaskin in React — русскоговорящее сообщество
Что бы удалить что то
источник

i

iwannafly in React — русскоговорящее сообщество
так блин, вопрос же конкретному человеку
источник

13

123 321 in React — русскоговорящее сообщество
не обратил внимание. удалять это нужно для того, чтобы удалились компоненты, ассоциированные с данными под-объектами объекта стейта
источник

13

123 321 in React — русскоговорящее сообщество
тоесть у меня есть некие данные, которые перестают быть актуальными. их нужно удалить со страницы. но так же есть встроенные видео iframe ютуба. и если происходит удаление, просмотр видео сбрасывается как если бы была обновлена страница
источник

i

iwannafly in React — русскоговорящее сообщество
так может стоит ключи оставить в покое, а изменять/обнулять значение, и уже от этого рендерить там что-то?
источник

13

123 321 in React — русскоговорящее сообщество
дело в том что ключи тоже размапываются и превращаются в элементы
источник

13

123 321 in React — русскоговорящее сообщество
тоесть и ключи и значения и размапываются. и превращаются в компоненты
источник

i

iwannafly in React — русскоговорящее сообщество
ну и ладно, если и ключ и значение в итоге идут в два компонента, можно перед каждым поставить Boolean(value) &&
источник