ценность использования React.forwardRef по сравнению с пользовательскими ссылками - PullRequest
0 голосов
/ 27 октября 2019

Я вижу, что React.forwardRef, по-видимому, является санкционированным способом передачи ссылки на дочерний функциональный компонент из реагирующих документов:

const FancyButton = React.forwardRef((props, ref) => (
  <button ref={ref} className="FancyButton">
    {props.children}
  </button>
));

// You can now get a ref directly to the DOM button:
const ref = React.createRef();
<FancyButton ref={ref}>Click me!</FancyButton>;

Однако, в чем преимущество этого по сравнению с простымПередача пользовательской пропы? Влияет ли передача пользовательского реквизита на диффузию, когда дело доходит до рендеринга, и вызывает дополнительные рендеры, конечно, нет, поскольку ссылка сохраняется как изменяемое состояние в поле current?

Скажем, например, что вы хотели передать несколько ссылок (то, что tbh, может указывать на запах кода, но все же), тогда единственное решение, которое я вижу, это использовать customRef реквизиты.

Я думаю, мой вопрос в том, каково значение использования forwardRef вместо пользовательской реквизита

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...