Реагируйте на собственную навигацию, как вы передаете и используете реквизит между компонентами класса? - PullRequest
0 голосов
/ 28 апреля 2020

экспортировать класс по умолчанию нравится отображать переданное число)}}

Ответы [ 3 ]

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

Инициализация: -

constructor(props) {
    super(props);
    this.params = this.props.navigation.state.params;
}

Извлечение данных: -

console.log(this.params.name);
console.log(this.params.about);

Если вы показываете в любом элементе, вы также показать как

<Text>{this.params.name}</Text> 

Вот полный пример кода. Может быть, это поможет вам понять это

https://www.google.com/amp/s/aboutreact.com/react-native-pass-value-from-one-screen-to-another-using-react-navigation/amp/

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

Я нашел ответ, большое спасибо за помощь. Для отображения я использовал {this.props.route.params.name}

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

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

export default class LoginScreen extends React.component {

  navObject = () => {
    let details = {
      name: "Hey",
      description: "This is a test",
      value: 5,
    };
    return details;
  };

  render() {
    return (
      <Button
        onPress={() => {
          this.props.navigation.navigate("Home", this.navObject());
        }}
      />
    );
  }
}

В дочернем компоненте Вы можете использовать доступ к реквизиту через this.props.navigation.state.params. Это один из подобных подходов.

class HomeScreen extends React.Component {
  render() {
    const navigate = this.props.navigation.state.params;
    return (
      <View>
        {navigate.name}
        {navigate.description}
      </View>
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...