NSNull类型的JSON值'<null>'无法转换为NSString

Ale*_*lex 6 simulator ios react-native

当我在iOS Simulator中重新加载我的React Native应用程序时,有时会出现以下错误屏幕。

在此处输入图片说明

有时它根本不发生,但有时在一天中几次。

我在我的应用程序以及Firebase Messaging中使用SignalR客户端。

我试图对我的所有应用程序(包括使用AsyncStorage的应用程序)进行尝试捕获,但这仍在发生。

非常沮丧。

Mah*_*ndi 13

我的问题是组件中的图像来源。我已经告诉图像组件将null作为源传递,而服务器对图像的响应为空或null。手段:

<Image source={{uri: null}} style={styles.myImageStyle}/>
Run Code Online (Sandbox Code Playgroud)

可以,但在ios中我遇到了此错误。所以我将代码更改为遵循以下代码,并且现在可以正常工作。

const imageUri = myImageUri!=null ? myImageUri : ""

<Image source={imageUri.length!=0?{uri: imageuri}: null} style={styles.myImageStyle}/>
Run Code Online (Sandbox Code Playgroud)


med*_*uru 5

我在使用 AsyncStorage 时遇到了这个问题。它只能存储字符串,因此存储其他任何内容都不起作用,例如对象等。下面是我如何设置和获取被阻止用户的数组。

当您设置项目时,将其字符串化:

AsyncStorage.setItem('blocked_users', JSON.stringify(array));
Run Code Online (Sandbox Code Playgroud)

然后,当您从异步存储中读取它时,使用 Promise 和 json 解析数据:

AsyncStorage.getItem("blocked_users")
        .then((value) => {
             if(value){
               blocksArray = JSON.parse(value);
               this.setState({ blocked_users: blocksArray});
             };
        });
Run Code Online (Sandbox Code Playgroud)