React forwardRef: Насколько глубоко вы можете передать forwardRef?

Мне интересно, насколько глубоко вы можете передать forwardRef во вложенном приложении, и как это передать?

Что-то вроде этого:

<Parent>
  <Child>
    ....
  </Child>
</Parent>

    <Child>
      <GrandChild>
          ....      
      </GrandChild>
    </Child>

        <GrandChild>
          <GreatGrandChild>
            ....
          </GreatGrandChild>
        </GrandChild>

            <GreatGrandChild>
              ....
            </GreatGrandChild>

а затем используйте его в компоненте GreatGrandChild или передавая ссылку и элемент в Parent вниз в GreatGrandChild


person Misuti    schedule 12.02.2020    source источник
comment
Возможный дубликат: stackoverflow.com/questions/50621471/   -  person Kalinda Pride    schedule 26.05.2021


Ответы (1)


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

Альтернативой может быть использование контекстного API для установки ссылки в производителе (компонента, содержащего элемент ссылки) и использования ее в потребителе (дочернем элементе, который будет использовать ссылку).

person varoons    schedule 12.02.2020
comment
Как бы вы это сделали с контекстом? Извините, я не могу осмыслить это. - person Misuti; 12.02.2020