1
React Native Component LifecycleおよびComponent Lifecycleの場合、componentWillMount
メソッドはrender
メソッドの前に呼び出される必要がありますが、これは私のプロジェクトには当てはまりません。私はfetch
オペレーションをcomponentWillMount
の中でやっていますが、それが何かをしている間に、render
メソッドはcomponentWillMount
が終了する前に呼び出されます。ネイティブコンポーネントのライフサイクルメソッドが適切な順序で呼び出されない
class UserHomeScreen extends Component {
state = { userID: '' };
componentWillMount(){
AsyncStorage.getItem('userId').then((value) => {
this.setState({ userID: value });
const API_ENDPOINT= 'https://myserverAPI';
const userID = value;
fetch(API_ENDPOINT,{ method: "GET",
headers:{
'Authorization': 'Bearer '+ userID
}
})
.then((response) => response.json())
.then((responseJson) => {
console.log(responseJson);
userInfo = new UserInfo();
userInfo.updateValues(responseJson);
AsyncStorage.setItem("userInfo",JSON.stringify(userInfo),null);
backInfo = AsyncStorage.getItem("userInfo").then(value);
})
});
}
render(){
return(
<Text>hello { this.state.userID }
</Text>
)
}
}
あなたは私のコードに見て、私は物事をめちゃくちゃよどこ指摘してくださいでき –
@zulkarnainshahは、負荷状態で私の例を使用してください。 ReactJでは、コンポーネントの状態を変更すると、再レンダリングが強制されます。これは、そのようなことを行う正しい方法と意図されています。 –