Как отобразить данные на 2-м экране, переданном с 1-го экрана на 2-й

Я передаю данные с одного экрана на другой при нажатии кнопки. У меня проблема с отображением данных на другом экране...

ниже мой код:

home.js

  goPressed(shareproductid){    
     this.props.navigation.navigate(
      'Products',
      shareproductid,
      console.log(shareproductid)
    );
  }


  <TouchableHighlight onPress={() => this.goPressed(item.p1.shareproductid)} style={styles.button}>
    <Text style={styles.buttonText}>
      Go
    </Text>
  </TouchableHighlight>

Products.js

import React, { Component } from "react";
  import { View, Text } from "react-native";

  export default class Products extends Component {
    static navigationOptions = {
      title: "Products",
    };

    render() {
      return (
              const { params } = this.props.navigation.state;

        <View>
          <Text>{this.params.shareproductid}</Text>

        </View>
      );
    }
  }

В этом Products.js я должен отобразить shareproductid так как я могу показать это, пожалуйста, помогите...

1 ответ

Решение

Переданные параметры должны быть объектом:

goPressed(shareproductid) {
  const { navigate } = this.props.navigation;
  const params = { shareproductid };

  navigate('Products', params);
}

И запишите их в Products.js следующим образом:

render() {
  const { params } = this.props.navigation.state;

  return (
    <View>
      <Text>{ params.shareproductid }</Text>
    </View>
  );
}
Другие вопросы по тегам