私はこのような何かを行うコードがあります(擬似コード)は、ネイティブリアクト:国家も、シミュレータ上のリロード後に以前の状態を保持するようだ
class extends Component{
constructor(){
this.state={
condition1 : false,
condition2 : false,
condition3 : false,
condition4 : false,
}
//set all 4 condition states to true once data loading has completed from the store
}
render(){
return(
if (this.state.condition1 && this.state.condition2 && this.state.condition3 && this.state.condition4)
Render Main component
else
Render loading screen
);
}
}
は基本的に私がいるかどうかをチェックするために使用されている4つの状態を持っているがデータは、メインコンポーネントをロードする前にロードされています。ストア(別のファイルから)がデータのロードを完了すると、イベントが発生し、4つの状態がtrueに設定され、メインコンポーネントがロードされます。再ロードボタンをGenymotionエミュレータから削除すると、4つの状態は真のままで、falseにリセットされず、アプリケーションは主なコンポーネントをロードしてクラッシュします(データはまだ準備されていません)再びComponentWillMountメソッドでメインアプリケーションがメインコンポーネントを読み込もうとする前に、状態がfalseに戻ってしまうことはありません。ライフサイクルのどのコンポーネントで、状態をfalseにリセットする必要がありますか?または、実際のデバイスでアプリをリロードするのは「非現実的」なので、私はこの問題を無視すべきですか?
すべての状態が真であるかどうかを確認する方法を表示できますか? – nabn
こんにちは私はそれを表示するコードを更新しました –
リモートデバッグを有効にすると、クロムコンソールにエラーが表示されますか? – nabn