将条形码扫描数据传递到第二个屏幕

问题描述 投票:3回答:2

我正在尝试传递扫描条形码时收到的数据。我能够使用JSON.stringify(数据)打印数据并且数据正在传递,但我似乎无法显示它。

成功传递数据:

_handleBarCodeRead = data => {
Alert.alert(
  'Scan successful!',
  JSON.stringify(data)
);

const { navigate } = this.props.navigation;
navigate('KnownProduct', {data})
};

试图在此页面上呈现数据:

  render(){
    const { navigate } = this.props.navigation;
    return(
        <View style={styles.container}>
            <Text>{this.props.navigation.state.params.data.toString}</Text>
        </View>
    );

我知道导航工作正常,因为如果我硬编码屏幕在扫描条形码后导航并显示硬编码值。但是,我想我试图用以下方法错误地调用数据:this.props.navigation.state.params.data.toString但是没有运气弄清楚如何显示传递的数据。

任何反应原生专家能够帮助新手吗?

好的....所以我想出来了......感谢一位评论者指出我应该像这样传递数据:

navigate('KnownProduct', {data: data})

然后重定向页面中缺少的是:

<Text>{this.props.navigation.state.params.data.data}</Text>

data.data得到了我!

react-native react-navigation
2个回答
0
投票

试试这个 :

navigate('KnownProduct', {data:JSON.stringify(data)})

<Text>{this.props.navigation.state.params.data}</Text>

0
投票

试试这个

 navigate('KnownProduct', {data:data.data})
<Text>{this.props.navigation.getParam('data')}</Text>
© www.soinside.com 2019 - 2024. All rights reserved.