Что произойдет, если я не передам ссылку компоненту RN с помощью forwardRef?

У меня есть подкомпонент, использующий forwardRef для получения ссылки из родительского компонента, однако мне любопытно, что произойдет, если я не передал ссылку из родительского компонента. Я тестировал другие родительские компоненты, которые также используют этот подкомпонент, но не передают ссылку и, похоже, работают отлично. Помощь приветствуется!


person gerbileee    schedule 01.06.2021    source источник


Ответы (1)


Причина, по которой реализован forwardRef, состоит в том, чтобы иметь доступ к некоторым функциям или свойствам состояния этого подкомпонента. Если вы не передадите ему эту ссылку, вы просто не сможете получить доступ к ним из родительского компонента; скорее всего, там, где ref не передается, не используются какие-либо функции / свойства состояния подкомпонента, поэтому он работает нормально. (Если вы посмотрите на время, когда классы использовались вместо функциональных компонентов, вы увидите, что ref был свойством, присутствующим для каждого класса по умолчанию. Однако не рекомендуется использовать forwardRef (только если это накладные расходы чтобы поступить иначе), как также говорится в документации, так как это антипаттерн)

person dianaqqq    schedule 02.06.2021