react-native - 在另一个组件中显示上传的图像
问题描述
我有一个从图库中选择图像的代码,我希望在选择图像后导航到另一个组件以在那里显示所选图像,它工作正常,直到我导航到另一个组件它实际上并没有显示所选图像'不知道我应该如何在那里显示它,请帮助,这里是代码:
state = {
image: null,
};
_pickImage = async () => {
const { navigate } = this.props.navigation;
let result = await ImagePicker.launchImageLibraryAsync({
allowsEditing: false,
aspect: [4, 4],
});
navigate('ConfirmImage');
if (!result.cancelled) {
this.setState({ image: result.uri });
}
上传图片
let { image } = this.state;
<TouchableOpacity onPress={this._pickImage}><Text>Upload</Text></TouchableOpacity>
解决方案
在 ConfirmImage 屏幕中显示图像
- 您需要从第一个屏幕将图像 uri 作为导航参数传递。
navigate(
'ConfirmImage',
{ uri : result.uri }
);
- 访问 ConfirmImage 中传递的值。
//ConfirmImage.js
render() {
const { navigation } = this.props;
const uri = navigation.getParam('uri');
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Image style={{width: 50, height: 50}} source={{uri:uri}}/>
</View>
)
}
推荐阅读
- mysql - 不需要的 MySQL 表名字符大写
- c++ - 二叉树算子深拷贝
- python - 如何将多行 JSON 文件转换为 Dataframe
- ruby - 如何使用 i% 在一行中创建和分配符号?
- azure - Terraform 导入现有资源
- python - 如何将更多 json 数据添加到 python 中的文本文件?
- php - PHP 我创建了一个双变量然后测试它是否相等并且它不匹配?
- debugging - 使用 Juno IDE 调试 Julia 脚本
- pandas - 选择具有组最小值的所有数据框行
- oracle - 如何修复 java.sql.SQLDataException: ORA-01847: day of month must be between 1 and last day of month 错误?