реакция-родной-страниц scrollToPage не является функцией - PullRequest
0 голосов
/ 08 мая 2019

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

Я пытался использовать метод scrollToPage, 1. но я не уверен, как правильно его реализовать, и 2. Я получаю сообщение об ошибке, в котором говорится, что это не функция.

Я определяю ссылку следующим образом:

this.pages = React.createRef();

Тогда в рендере:

<Pages indicatorColor={'green'} indicatorOpacity={0.3} indicatorPosition={"bottom"} ref={ref => { this.pages = ref; }} >

Тогда звоните: this.pages.scollToPage(2) в методе после рендеринга

Любой совет, как заставить это работать, был бы великолепен

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Just Like This

  1. определить ваш ref (также вы можете установить его в своей функции constructor ())
  2. связать ссылку с вашим тегом Pages(ref = {this.refblablabla})
  3. в своем текущем классе вы можете делать все, что захотите, когда вам нужна ссылка. (не забывайте, что ref.current - это объект, который вы хотите, а не ссылка сама по себе)

если вам нужен фрагмент кода, просто дайте мне знать.

0 голосов
/ 08 мая 2019

Определение функции scrollToPage.

scrollToPage(page, animated = true) {
    let { horizontal } = this.props;
    let { [horizontal? 'width' : 'height']: base } = this.state;

    if (animated) {
      this.scrollState = 1;
    }

    if (this.mounted && this.scroll) {
      this.scroll.scrollTo({
        [horizontal? 'x' : 'y']: page * base,
        animated,
      });
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...