Как предотвратить повторный рендеринг (обновление) компонентов внутри анимации с помощью REACT - PullRequest
1 голос
/ 14 июня 2019

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

Пока я пытался:
react-transtition-group
react-animations
react-spring

Еще нужно поэкспериментировать с переходом react-motion ...

... и есть еще много всего, но все они делают то, что мне нужно, за исключением одной вещи ... в то время как каждое состояние перехода / стиля применяется, дочерний компонент (ы)) всегда обновлять, вызывая повторную визуализацию (что, кстати, имеет смысл), если только shouldComponentUpdate() дочернего элемента не возвращает false или не заключен в PureComponent, оба из которых не являются решением, поскольку вы можете (наверняка) захотетьделайте «вещи» со своим компонентом после завершения перехода.

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

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

Пожалуйста, поделитесь своими решениями, чтобы избежать этой проблемы.

1 Ответ

0 голосов
/ 14 июня 2019

Мой обходной путь - обернуть переходные дочерние элементы / представления в простой PureComponent, чтобы предотвратить их повторный рендеринг, однако это не кажется правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...