将条形码扫描到第二屏幕



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

成功传递数据:

_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.state.params.data.tostring this.props.navigation.state.state.state.state.tostring ,但没有运气来弄清楚如何显示传递数据。

有能力帮助新手的土著专家吗?

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

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

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

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

data.data让我!

尝试以下:

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

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

尝试此

 navigate('KnownProduct', {data:data.data})
<Text>{this.props.navigation.getParam('data')}</Text>

相关内容

  • 没有找到相关文章

最新更新