App.js
파일이 있고 내 응용 프로그램의 루트입니다 (iOS 및 Android 참조).
app.js
렌더링 메서드를 호출하기 전에 내가 필요로하는 값인 AsyncStorage
에 있습니다.
문제는 그게 늦어서 async
이므로 그 값을 얻을 수 없습니다.전체 앱로드 전에 AsyncStorage에서 가치를 얻는 가장 좋은 방법은 무엇입니까
class App extends React.Component {
constructor(props) {
super(props);
this.init()
}
async init() {
try {
const value = await AsyncStorage.getItem('@myPoorValue:key');
if (value !== null){
...
}
} catch (error) {}
}
}
...
render (...
여기 내 문제가 무엇인지 잘 설명했으면합니다.
동기식을 얻을 수있는 방법이 없다는 것을 알고 있지만 (이 방법이 좋음)이 상황에서 무엇을해야할지 모르겠다.
조금 더 설명하려면 I18n
을 사용하고 수동으로 설정하기 전에 수동으로 I18n.locale
을 일부 값으로 설정하고 다른 구성 요소는 기본값을 가져옵니다.
참고로 나는 또한 redux를 사용하고 선택한 값을 전달합니다.
...
constructor(props) {
super(props)
this state = {
isLoading: true
}
}
async componentDidMount() {
await this.init()
// you might want to do the I18N setup here
this.setState({
isLoading: false
})
}
async init() {
const value = await AsyncStorage.getItem('@myPoorValue:key')
...
}
...
것은이 init()
이 약속을 반환하고 당신이 그것을 해결할 때까지 기다릴 필요가 :
나는 appNavigator.js를 가지고있을 것 같습니까? – Codesingh