私のアプリには2つのコンポーネント(Page
とHome
)があります。ネイティブ持続ユーザーデータ
Home
はそうのようなPage
を拡張:
export default class Home extends Page
とPage
はちょうどComponent
を拡張します。 Page
で
私は上記のPage
のconstructor
に呼び出されたAsyncStorage
async getUser() {
// get from storage
this.setState({user});
}
からユーザデータを取得する方法を持っています。
Home
には、this.state.user
に依存するcomponentWillMount
のメソッドがあります。明らかに、getUser
メソッドが非同期であるため、これは機能しません。
ユーザー情報を取得してその情報を取得したら特定のメソッドのみを呼び出す方法はありますか?
export default class Page extends Component {
async getUser() {
// get from AsyncStorage
this.setState({user});
}
componentWillMount() {
this.getUser();
}
}
export default class Home extends Page {
async foo(user_id) {
this.setState({something});
}
componentWillMount() {
this.foo(this.state.user);
}
render() {
return <Text>{this.state.something}</Text>;
}
}
'this.state.user'にはどのような方法があり、いつ呼び出されますか? – Aaron
'Home.componentWillMount'には' this.state.user'に依存する別の非同期メソッドがあります –
私は例コード –