【问题标题】:java.lang.ClassCastException: com.facebook.react.bridge.ReadableNativeArray cannot be cast to java.lang.String error using BackgroundTimer.setTimeOutjava.lang.ClassCastException:com.facebook.react.bridge.ReadableNativeArray 无法使用 BackgroundTimer.setTimeOut 转换为 java.lang.String 错误
【发布时间】:2021-08-02 06:21:38
【问题描述】:

我正在使用 react-native-background-timer 在调用函数 BackgroundTimer.setTimeout 时出现错误 android 和 ios

useEffect(() => {
    let timeId = BackgroundTimer.setTimeout(() => {
      BackgroundTimer.start();
      AppContext.UpdateCart([]);
      SecureStorage.setItem("CART", []);
    }, 20 * 60 *1000);
  }, []);

【问题讨论】:

    标签: javascript android ios react-native


    【解决方案1】:

    根据这个DOC,您不应该将数组[] 作为SecureStorage.setItem 的第二个参数。您可以尝试将 0 长度 Stringnull 作为框架预期

    SecureStorage.setItem("CART", ""); // empty, 0-length string
    

    还有AppContext.UpdateCart([]);这一行,确保你可以在这里放一个空数组,也许你也应该在这里放一些String

    【讨论】:

    • 谢谢,伙计。我在 SecureStorage.setItem 中将第二个参数设置为空字符串。现在它工作得很好。 -:)
    • 如果有帮助,请考虑支持/接受答案 :) 祝你好运!
    猜你喜欢
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多