Реагировать компонент, который изменение столбца перемонтируется / перерисовывается с динамически генерируемых столбцов - PullRequest
0 голосов
/ 28 апреля 2019

Вот моя текущая одержимость в кодах и коробке. Я генерирую столбцы динамически в зависимости от ширины экрана, чтобы распределить массив компонентов. Работает, но когда я изменяю размер экрана, чтобы изменить количество столбцов, компоненты переупорядочиваются правильно, но все компоненты, которые изменяют столбец, перерисовываются.

На экране изменения размера вы увидите в журнале консоли, что компоненты, которые изменяют столбец, перемонтированы (имеет смысл). Я хочу знать, есть ли способ избежать этого (на данный момент, боюсь, не с таким подходом).

После многих разных попыток с использованием useRef, useMemo и т. Д. (Некоторые из них, вероятно, сумасшедшие, но я должен был попробовать), мой вывод пока что при таком подходе компонент должен быть удален из одного столбца и добавлен в другие, так что будет пересмотрено, несмотря ни на что.

Есть идеи?

https://codesandbox.io/s/28n127vnj

1 Ответ

0 голосов
/ 29 апреля 2019

Ну, наконец-то комбинация порталов и рефсов пришла на помощь и сделала свое дело.

В конце концов, это была проблема с воспитанием детей, и, проведя некоторое исследование, я обнаружил эту проблему на Facebook ...

https://github.com/facebook/react/issues/13044

... где vkatushenok дает отличное решение этой проблемы.Воспользовавшись этой идеей и немного адаптировав ее, позвольте мне найти способ ее решить.

На случай, если у вас возникнет подобная ситуация или подобное, вот вам и то, как я ее решаю ...

https://codesandbox.io/s/kwr0vn6x15

...