Как получить ссылку на компонент, используемый в JSX для вызова метода? - PullRequest
0 голосов
/ 11 апреля 2020

Пример кода для ioni c -react, но моя реальная проблема не зависит от ioni c, это вопрос, связанный с React / JSX.

Упрощенный метод рендеринга:

return (
  <IonPage>
    <IonContent>
      <div>Hello!</div>
    </IonContent>
  </IonPage>
)

Мне нужно получить ссылку на компонент IonContent. Мне НЕ нужна ссылка на HTMLElement (для которого я мог бы использовать React.createRef ()). Возможно ли это и как я могу это получить?

Справочная информация: IonContent определяет метод getScrollElement () (см .: https://ionicframework.com/docs/api/content#methods). Мне нужно получить доступ к этому, чтобы программно прокрутить содержимое. Установка scrollTop для HTMLElement с ионным содержимым не работает для меня, и, как я понимаю, документы не должны.

1 Ответ

0 голосов
/ 11 апреля 2020

Это реальная ссылка, но она возвращает обещание, поэтому вы можете захотеть разрешить его: getScrollElement() => Promise<HTMLElement>

<IonContent ref={myRef}>
  <div>Hello!</div>
</IonContent>;

// getScrollElement returns a promise in async func
const scrollElement = await myRef.current.getScrollElement();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...