Проверьте, является ли компонент дочерним по отношению к другому в React
У меня есть следующая ситуация, когда мне нужно сделать некоторую логику (например, позиционировать детей по отношению к родителю и т. Д.).
Есть ли способ, чтобы родительские дочерние отношения в React между вложенными компонентами могли ссылаться друг на друга?
Например:
<Surface color="red" size={100}
<h1>HELLO</h1>
<Surface color="black" size={50}>
<h1>World</h1>
</Surface>
</Surface>
Так как вложенные Surface
находится внутри другого Surface
Я хотел бы, чтобы ребенок был подключен (или какая-то другая логика) к родителю. Я знаю, что могу просто пройти от корня и построить это дерево, где, если Поверхность упаковывает другую Поверхность как дочерний элемент, то выполняет логику, которую я ищу, но это кажется довольно ужасным...
Есть идеи? Спасибо!
2 ответа
Я думаю, что вы можете использовать псевдоним родительской поверхности, используя "ref", а затем получить к нему доступ в дочерней поверхности.
Но не рекомендуется использовать "ref" в методе рендеринга класса. Вы можете определить любой публичный метод в ваших классах компонентов и вызывать их через ссылки. В большинстве случаев проще использовать встроенный поток данных React вместо обязательного использования ссылок.
Надеюсь, поможет.
Вы можете использовать response-redux, который является лучшим способом управления вашими компонентами в централизованном месте, известном как магазин. Вы можете найти пример реакции-редукса