如何在 iOS react-native-config 和 AsyncStorage 中修复 NSNull 类型的 JSON 值“<null>”无法转换为 NSString?

Posted

技术标签:

【中文标题】如何在 iOS react-native-config 和 AsyncStorage 中修复 NSNull 类型的 JSON 值“<null>”无法转换为 NSString?【英文标题】:How to fix JSON value '<null>' of type NSNull cannot be converted to NSString in iOS react-native-config and AsyncStorage? 【发布时间】:2019-12-03 06:28:16 【问题描述】:

我在使用 react native config 和 AsyncStorage 时遇到问题,其中来自 .env 的空数据在 ios 上是不可读的,

下面是我的代码:

  _authAsync = async () => 
    const userToken = await syncStorageA.getItem(Config.ACCESS_TOKEN)
    this.props.navigation.navigate(userToken ? 'App' : 'Auth')
  

请帮忙。

我只在 iOS 平台上遇到这个问题,在 android 上运行正常。

【问题讨论】:

在这种情况下 Confi.accesstoken 是否为空? 【参考方案1】:

您似乎在将值设置为SyncStorage/AsyncStorage 时将null 值存储在您的存储中。 然后 Rathe 直接存储它,因为您有机会获得访问令牌为null。检查该值是否存在。

sn-p 可能对你有帮助

function set(key, value) 
  value = JSON.stringify(value)
  if (value) return AsyncStorage.setItem(key, value)
  else console.log('not set, stringify failed:', key, value)

【讨论】:

我的问题是 react-native-config 没有从 .env 文件中获取价值。

以上是关于如何在 iOS react-native-config 和 AsyncStorage 中修复 NSNull 类型的 JSON 值“<null>”无法转换为 NSString?的主要内容,如果未能解决你的问题,请参考以下文章

如何在MvvmCross中呈现iOS模态视图

ios如何在iOS中实现SocketIO

如何在 iOS 4 上运行 iOS 5/ARC 项目

iOS - 如何使用 branch.io 在 Appstore 中测试深度链接

如何支持IOS6和IOS7应用图标并在同一个应用中启动图像?

如何在 Swift 中同时为 iOS7 和 iOS8 调用 registerForRemoteNotifications?