У меня есть подкомпонент, использующий forwardRef для получения ссылки из родительского компонента, однако мне любопытно, что произойдет, если я не передал ссылку из родительского компонента. Я тестировал другие родительские компоненты, которые также используют этот подкомпонент, но не передают ссылку и, похоже, работают отлично. Помощь приветствуется!
Что произойдет, если я не передам ссылку компоненту RN с помощью forwardRef?
Ответы (1)
Причина, по которой реализован forwardRef
, состоит в том, чтобы иметь доступ к некоторым функциям или свойствам состояния этого подкомпонента. Если вы не передадите ему эту ссылку, вы просто не сможете получить доступ к ним из родительского компонента; скорее всего, там, где ref не передается, не используются какие-либо функции / свойства состояния подкомпонента, поэтому он работает нормально. (Если вы посмотрите на время, когда классы использовались вместо функциональных компонентов, вы увидите, что ref
был свойством, присутствующим для каждого класса по умолчанию. Однако не рекомендуется использовать forwardRef (только если это накладные расходы чтобы поступить иначе), как также говорится в документации, так как это антипаттерн)
person
dianaqqq
schedule
02.06.2021