Я создаю компонент React, который задерживает размонтирование его дочерних элементов для их анимации.При размонтировании я хотел бы передать дополнительную подпорку (например, атрибут данных или имя класса) для обработки анимации.
Это конкретный случай общей ситуации, когда я хочу переопределитьопределенные свойства детей.Я пришел к выводу, что следующий шаблон делает именно то, что я хочу:
this.props.children.map(child =>
<child.type key={child.key}
ref={child.ref}
{...child.props}
// add my props into children here
data-leaving={true} />)
Вместо того, чтобы возвращать дочерний элемент, я возвращаю новый элемент того же типа и с теми же реквизитами.Затем я могу добавить или удалить любые реквизиты, которые я хочу!
Тем не менее, это недокументировано и кажется очень хакерским.Я хотел бы знать, безопасно ли это использовать в каждом случае.
Обратите внимание, что я знаю об альтернативах (например, принятие функции, которая возвращает детей вместо детей напрямую), но это дает наиболее удобный способ.интерфейс на сегодняшний день.