как отправить param в родную реакцию - PullRequest
1 голос
/ 01 мая 2020

здесь я делаю вход в систему, после успешного входа я отправляю параметр id на домашнюю страницу, на домашней странице я отображаю данные на основе идентификатора пользователя для входа. Я отправил параметр на странице входа в систему.

, после чего я получил параметр на домашней странице, но здесь результаты нулевые. как правильно проанализировать данные?

страница входа в систему

 //function login 
    fetch (......)
      .then((response) => response.json())
            .then((responseJson) => {
              if(responseJson.status == 'ok'){
                this.props.navigation.navigate('home', { id_user: id_user });
              }
              else if(responseJson.status == 'failed') {
              ....
             }


    <Button block info style={styles.mainBtn} onPress={this.login}>
       <Text style={styles.btnText}>Submit</Text>
    </Button>

страница home

componentDidMount(){
      const { params } = this.props.navigation.state; 
      console.log(params)

      const url = 'https://example.com/data?id_user='+params.id_user
      fetch(url)
      .then((response)=> response.json())
      .then((responseJson)=>{
        // console.log(responseJson.data)
          this.setState({
              dataSource: responseJson.data,
              isLoading : false
          })
      })
      .catch((error)=>{
          console.log(error)
      })
  }

на главной странице, здесь я хочу проанализировать данные id, которые будучи зарегистрированным, но результаты равны нулю, когда я утешаю

1 Ответ

1 голос
/ 01 мая 2020

На экране Home попробуйте извлечь id_user, как показано в методе жизненного цикла componentDidMount.

componentDidMount(){
      const id = this.props.navigation.state.params.id_user
      console.log(id)
      //...rest of the code
}

Если это не сработает, настройте оператор navigation в * Экран 1008 * вот так.

if(responseJson.status == 'ok'){
  this.props.navigation.navigate({'home', { id_user: id_user }});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...