我正在尝试传递从扫描条形码中收到的数据。我能够使用 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>