私はReact Native
に新しく、redux
とreact-navigation
でこのアプリケーションを構築しています。ここに問題があります:React Nativeは再描画されませんListview
私はAPIからレコードを取得していますが、うまくいきました。レコードをフェッチしている間にLoading
というアイコンが表示された後、Listview
はレコードを表示し、レコードがない場合は Text
と表示します。そして、突然レコードが表示されなくなり、Loading
アイコンはレコードがあるときに表示され続けますが、レコードがないときはText
が表示されます。
このバグの原因は何ですか?私はExpo
を使用していますので、フェッチされたレコードをコンソールに印刷してレコードがあります。また、データが取得された後、私はをrender
関数に入れて呼び出されます。つまり、Listview
をレンダリングしないだけです。
ありがとうございます!
UPDATE
ので、下記の提案として、私はFlatList
を使用していると私は私はそれを持っているリストに渡されたデータを印刷するときFlatList
から渡されたitem
は再び奇妙な原因である未定義であることを発見しました内容ここに私の現在のコードです:
MyFlatlist
return <FlatList
data={data} //an array of objects
renderItem={this._renderItem} //console prints undefined
/>
//I also tried
return <FlatList
data={data} //an array of objects
renderItem={({item}) => this._renderItem(item)} //I think this doesn't call the method cause it doesn't print anything on the console.
/>
MyRenderItem
_renderItem = ({item}) => {
console.log(item)
}
FINAL UPDATE
だから、私が得る最初のAPIをこの問題の原因となった二つの要因がありました私のデータは、私のビューでアクセスするフィールドにはどのような結果がないのですか?React Native
これをerその結果、レンダリングはエラーメッセージなしで停止します。なぜなら、これは検出が難しいからです。第2に、FlatList
を使用すると、renderItem関数に送信されるアイテムごとに、レンダリングが再び停止するように実際のデータを含むプロパティitem
を持つオブジェクトの下にもあります。
これは私の設定に関する限り修正されました。あなたのすべての協力に感謝します!
私たちにいくつかのコードを教えてください。間違っている可能性のあることがたくさんあります。 –
ああ、申し訳ありませんが、コードが表示されませんでした。すべてが適切であると仮定すると、突然動作しなかったと言いました。コードに触れなかっただけで、これに影響する可能性のある要素は何ですか? – Jed
ああそうだったので、それは何の変化もなく停止しましたか?私は実際に万博を使用していないが、おそらくすべてを閉じて、実行中のパッケージャを停止し、再度それを実行しようとします。 –