Как сделать внутреннее состояние компонента глобальным? - PullRequest
0 голосов
/ 26 ноября 2018

Я сделал приложение погоды отреагировать на родную.Получение данных о погоде от accuweather и сохранение в состояние.И мне нужно отобразить данные о состоянии на дочерней странице (стр. 1, 2, 3).

Как я могу?Пожалуйста, помогите мне.

https://github.com/charian/WhatTheWeather

Ответы [ 3 ]

0 голосов
/ 26 ноября 2018

Определите свое состояние в конструкторе.

constructor(props) {
    super(props);

    this.state = {
      experienceId: '',
      desktopDetail: this.props.navigation.state.params,
      clientId: '',
      installedVR: '',
      activeVR: '',
    };
  }

Получите доступ к своей переменной, используя this.state.clientId в любом месте вашего компонента.

0 голосов
/ 26 ноября 2018

Поскольку вы не предоставили какой-либо конкретный код, я могу только предположить, что вы хотите передать некоторые реквизиты на страницы.Я нашел в вашем репо этот кусок:

navigateToScreen = (route) => () => {
    const navigateAction = NavigationActions.navigate({
      routeName: route
    });
    this.props.navigation.dispatch(navigateAction);
}

Эта функция должна передавать реквизиты на страницу, к которой вы хотите перейти.

Вы можете сделать это следующим образом this.props.navigation.navigate(route, {paramName: this.state.paramName});

На этой странице вы получаете доступ к этим реквизитам с помощью this.props.navigation.getParam(paramName, defaultValue) или this.props.navigation.state.params.

0 голосов
/ 26 ноября 2018

Вы должны отправить данные о своем состоянии реквизитом на другие компоненты / страницы.

...