Сбой приложения при попытке использовать AsyncStorage - PullRequest
2 голосов
/ 15 апреля 2020

Я пытаюсь сохранить дату с этим: https://github.com/react-native-community/datetimepicker

Проблема заключается в том, что я хочу сохранить дату в AsyncStorage, возможно, также сохранить несколько даты.

Это мой код:

const onChange = async(event, selectedDate) => {
    const currentDate = selectedDate || date;
    setShow(Platform.OS === 'ios');
    setDate(currentDate);
    await AsyncStorage.setItem('Date', selectedDate); // the problem is here, I believe
}; 

Я не уверен, почему происходит сбой, у меня даже нет возможности прочитать ошибку, так как она вылетает.

Ответы [ 2 ]

2 голосов
/ 15 апреля 2020

Функция setItem ожидает string, а не object. Вы должны определить дату до вызова функции. Вот пример с get / set:

AsyncStorage.setItem("my-key", JSON.stringify(date));

const date = await AsyncStorage.getItem("my-key");
console.log(new Date(date))

Более подробную информацию вы можете найти в документации .

0 голосов
/ 15 апреля 2020

Я думаю, что вы храните объект. Пожалуйста, проверьте журнал selectedDate и проверьте этот документ https://reactnative.dev/docs/asyncstorage Если вы не хотите, чтобы приложение cra sh, пожалуйста, попробуйте перехватить, когда вы AsyncStorage

 const onChange = async(event, selectedDate) => {
  try {
        const currentDate = selectedDate || date;
        setShow(Platform.OS === 'ios');
        setDate(currentDate);
        await AsyncStorage.setItem('Date',JSON.stringify(selectedDate))); // the problem is here, 
       I believe
  } catch (error) {
    // Error saving data
  }
}; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...