从react-native-image-picker中选择图像后,图像不会显示

问题描述

我正在开发一个应用程序,在该应用程序中,我需要从手机上传图像,一旦显示单击“上载图库”,我便可以选择该图像,但是一旦选择了图像,该图像就不会显示在图像容器中用过。

我的代码

这是selectImage函数

selectImage = () => {
        const options = {
            title: 'Select Profile Picture',storageOptions: {
                skipBackup: true,path: 'images',},};
        ImagePicker.showImagePicker(options,(response) => {
            console.log('Response = ',response);
            if (response.didCancel) {
                console.log('User cancelled image picker');
            } else if (response.error) {
                console.log('ImagePicker Error: ',response.error);
                Alert.alert(response.error.toString())
            } else if (response.customButton) {
                console.log('User tapped custom button: ',response.customButton);
            } else {
                //let source = { uri: response.uri };
                Alert.alert(response.uri)
                let source = { uri: 'data:image/jpeg;base64,' + response.data };
                this.setState({
                    imageSource: source,data: response.data,});
            }
        });
    } 

这是显示代码

<Image source={this.state.imageSource} style={{ width: 200,height: 250 }} />

没有引发错误。

解决方法

尝试将图像源直接设置为uri响应提供的ImagePicker

Alert.alert(response.uri);
let source = { uri: response.uri };
this.setState({
  imageSource: source,data: response.data,});
,

尝试在设置状态后添加console.log。如果状态为空,则在更新状态时会出错。如果状态中填充了您所选图片的uri,请尝试重建您的应用程序

,

最后我发现了问题,这是由于react-native-web-swiper引起的,我在其中包含了Image容器,这不支持状态的重新呈现。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...