java.lang.ClassCastException: com.facebook.реагировать.мост.ReadableNativeArray не может быть приведен к java.lang.Ошибка строки при использовании BackgroundTimer.setTimeout

#javascript #android #ios #react-native

Вопрос:

Я использую react-native-фоновый таймер, получающий ошибку android, а также ios при вызове функции BackgroundTimer.setTimeout

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

Ответ №1:

согласно этому документу, вы не должны указывать массив [] в качестве второго параметра SecureStorage.setItem . вы можете попытаться поставить 0-длину String или null , как ожидает фреймворк

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

есть также AppContext.UpdateCart([]); строка, убедитесь, что вы можете поместить сюда пустой массив, возможно, также здесь вам следует поместить некоторые String

Комментарии:

1. спасибо, приятель. я установил 2-й параметр в качестве пустой строки в файле SecureStorage.setItem. теперь он работает совершенно нормально. -:)

2. подумайте о том, чтобы проголосовать/принять ответ, если это полезно 🙂 удачи!