问题描述
每次在iOS模拟器中重新加载React Native应用程序时,每次滚动或导航该应用程序时,都会出现以下错误屏幕。
我不确定导致此错误的原因是什么。
我认为图片来源可能有问题,但不认为这是问题所在。
const UserItem = (props: { onSelect: () => void,user: User }) => {
return <AccountContainer onPress={props.onSelect}>
<Accountimage source={{ uri: props.user.photoUrl }} />
<Text text={props.user.username} />
</AccountContainer>
}
我还确保我对json对象进行了严格化处理,因为我看到人们在AsyncStorage中也遇到了同样的问题
const save = async <T>(key: string,value: T): Promise<T | null> => {
try {
await AsyncStorage.setItem(key,JSON.stringify(value));
return value;
} catch (error) {
return null;
}
解决方法
我能够通过调用AsyncStorage.setItem(null,"#");
您可以结束setItem
调用,以免引发本机错误。
const safeSetStorageItem = (key: string,value: object) => {
if (!key) {
logger.warn("Probably a mistake here...raise a warning and investigate");
return;
}
return await AsyncStorage.setItem(key,JSON.stringify(value));
};