我正在尝试传递从扫描条形码中收到的数据。我可以使用 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.params.data.toString 但没有办法弄清楚如何显示传递的数据。
有什么反应能够帮助新手的本地专家吗?
好的....所以我想通了...感谢一位评论者指出我应该像这样传递数据:
navigate('KnownProduct', {data: data})
然后重定向页面中缺少的是:
<Text>{this.props.navigation.state.params.data.data}</Text>
data.data吸引了我!
答案 0 :(得分:0)
尝试一下:
navigate('KnownProduct', {data:JSON.stringify(data)})
AND
<Text>{this.props.navigation.state.params.data}</Text>
答案 1 :(得分:0)
尝试
navigate('KnownProduct', {data:data.data})
<Text>{this.props.navigation.getParam('data')}</Text>