Как исправить ошибку: переменная доступна только для чтения в реагирующем? - PullRequest
0 голосов
/ 05 марта 2020

Как исправить ошибку: переменная доступна только для чтения в реакции-нативной?

Когда я пытаюсь использовать ключ Asyncstorage на другом экране. Затем выдается ошибка ниже.

Пожалуйста, помогите мне, как я могу решить это. Спасибо заранее.

enter image description here

Этот код предназначен для хранения значения моего ответа API в Asyncstorage.

let iGuserData = response.ResponseCode;
                    AsyncStorage.setItem('updateddata',JSON.stringify(iGuserData) )
                    console.log("async updated data",iGuserData);

Это мои постоянные данные. js код файла. Куда я пытаюсь добавить ключ Asyncstorage.

export const identfyGenderData= 'updateddata'

Это часть кода моего экрана приветствия. js файл code.Where я пытаюсь получить доступ к значению Asyncstorage.

import {identfyGenderData} from '../Component/constantData';
const profilefirst= AsyncStorage.getItem(identfyGenderData)

componentDidMount(){this.userExist()}
  userExist=()=>{

    if (profilefirst=1) {
      this.props.navigation.navigate('InterestedinScreen')
    }else{
      this.props.navigation.navigate('IdentifygenderScreen')
    } 
  }

1 Ответ

1 голос
/ 05 марта 2020

AsyncStorage - это асинхронная c функция, поэтому подождите, пока AsyncStorage не извлечет identfyGenderDatainside с помощью Async / await.

userExist = async () => {
  try {
    const profilefirst = await AsyncStorage.getItem(identfyGenderData);
    if (profilefirst == 1) {
      this.props.navigation.navigate("InterestedinScreen");
    } else {
      this.props.navigation.navigate("IdentifygenderScreen");
    }
  } catch (error) {
    // Error retrieving data
  }
};

Надеюсь, это поможет вам. Не стесняйтесь сомнений.

...