загрузка спиннера на asyn c выноска на firebase не работает - PullRequest
0 голосов
/ 07 января 2020

Я обращаюсь к Firebase с просьбой обновить некоторые данные одним нажатием кнопки сохранения. Я могу успешно вернуть ответ о состоянии, но не могу запустить загрузчик, когда я ожидаю, чтобы обновление было успешным. Я уверен, что это проблема asyn c, которую я испортил. Может ли кто-нибудь увидеть, что я делаю неправильно?

Я вижу в базе данных, что данные успешно обновляются, и когда состояние загружается, я вижу, что состояние обновлено. Обычно я беру код ответа из выноски и что-то с ним делаю, но ответ от firebase не возвращает ничего, кроме «неопределенного» (даже когда я жду).

const EditProfile = ({ state2, setState2 }: EditProfileProps) => { 
    const { state, updateUserData } = useContext(AuthContext);
    const { profile } = state2; 
    const { images, interests } = profile;
    const [isLoading, setIsLoading] = useState(false);

    const updatedUserData = {
        images: profile.images
    };

    const updateData = async() => {
        if(profile.images.includes(null) || profile.images.length != 3){
          alert('You must have three photos. Please complete profile and save again.');
        }else{
          setIsLoading(true);
          await updateUserData(updatedUserData, 'editInfo', changedValue).then(()=>{ setIsLoading(false)})
        }
      };

    return (
    <ScrollView>
      {isLoading && <Loading text="Saving Data..." />}
      <View style={styles.listContainer}>
      ...
      <TouchableOpacity style = {styles.buttonContainer} onPress={updateData}>
          <Text style={styles.buttonText}> 
              Save 
          </Text>
      </TouchableOpacity>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...