这是第二个屏幕代码的一部分:
state = {
hasCameraPermission: null,
barcodeValue : ""
}
FunctionToOpenFirstActivity = () =>
{
this.props.navigation.navigate('First', { barcodeValue: this.state.barcodeValue });
}
//after barcode was scanned
handleBarCodeScanned = ({ type, data }) => {
this.state.barcodeValue = data;
alert(this.state.barcodeValue);
this.FunctionToOpenFirstActivity();
}
这是渲染((中父屏幕代码的一部分
<View style={styles.firstrow}>
<View style={styles.inputWrap}>
<Text style={styles.label}>Barcode Value</Text>
<TextInput style={styles.input}>{this.props.barcodeValue}</TextInput>
</View>
</View>
this.props.barcodeValue 是空白的,有人知道问题是什么吗?
正如您可以在文档 https://reactnavigation.org/docs/en/params.html 中找到的那样,您可以使用this.props.navigation.getParam(paramName, defaultValue)
读取从先前视图传递的参数,defaultValue
是可选的
在您的情况下,请尝试将this.props.barcodeValue
更改为this.props.navigation.getParam('barcodeValue')