Передача параметра между двумя компонентами Statefull с реакцией навигации 5.x - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь передать параметр между двумя компонентами statefull (идентификатором ресторана) в моем приложении, первый - это компонент входа в систему, где я делаю это:

  onPressLogin = () => {
    loginService(this.state.email, this.state.password)
      .then((res) => {
        this.props.navigation.navigate('Commandes', {id:res.data.restaurant.id})
      })
      .catch((err) => {
        console.log(err)
        alert('Email/Password invalide')
      })
  }

И в моем Второй компонент, HomeScreen (экран: Commandes), я делаю это:

componentDidMount() {
    const {id} = this.props.route.params
    this.getRestaurantInfo()
    this.getRestaurantStatus()
    this.getOrders()
    this.setState({ isLoading: false })
  }

Но я не определил, я проверил do c, и они указали только для компонента без состояния ...

Я также проверил значение this.props.navigation.navigate, которое является функцией, и значение маршрута, которое отображает это:

route.params Object {
  "key": "Commandes-kHfSvHgETC",
  "name": "Commandes",
  "params": undefined,
}

Ответы [ 2 ]

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

пожалуйста, проверьте https://reactnavigation.org/docs/params и убедитесь, что у вас все хорошо

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

Вы можете попробовать это

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