我正在尝试传递扫描条形码时收到的数据。我能够使用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得到了我!
试试这个 :
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>