Использование последнего React (0.13) Я пытаюсь изменить класс и стиль дочернего элемента, используя cloneElement
перед рендерингом.Изменение класса и стиля для детей React с использованием cloneElement
Просматривая тесты: https://github.com/facebook/react/blob/0.13-stable/src/classic/element/tests/ReactElementClone-test.js#L44
И другие ответы: ReactJS - How to change style and class of react component?
Похоже, это должно быть довольно просто, но я не могу показаться, чтобы добиться желаемого поведения, как описано в этой скрипкой: https://jsfiddle.net/69z2wepo/7924/
Спасибо, что кажется вполне очевидным сейчас. Что делать, если вы не контролировали функцию разметки или рендеринга дочернего компонента? Возможно, вы используете гипотетическую библиотеку компонентов, которую вы не хотите изменять? –
Я считаю, что не рекомендуется мутировать компоненты или любые комбинации компонентов обезьян. Лучшая практика - иметь «чистые» функции рендеринга, которые при одинаковых реквизитах и состоянии всегда выводят одно и то же. – user120242
Это также может привести к жесткой связи между компонентами. Как правило, React попытается остановить вас от подобных действий. – user120242