2016-10-19 7 views
1

私は最初に何も持っていないシーンAのListViewコンポーネントを持っています。これは、ストアに結びついた最近の検索用語のリストです。リアクションネイティブルータフラックスを使用したシーントランジション中に、現在のシーンがレンダリングされないようにするにはどうすればよいですか?

ユーザーが検索語を入力してシーンAでサブミットすると、最近の検索用語ストアが更新され、すぐにシーンBに移行します。リストビューから「空セクションヘッダー」という警告が表示されますシーンAがシーンの遷移中にレンダリングを開始することによって発生します。

シーンAコンポーネントのshouldComponentUpdate()を使用してを試しましたが、起動しませんでしたか?私は現在の場所と新しい場所を見ることを望んでいました。もし違うなら、更新/レンダリングを防ぐためにfalseを返します。

誰かがこれについての提案をしていますか?

設定enableEmptySections = {true}は空のセクションヘッダーに関する警告メッセージを表示しませんが、これは永続的な解決策ではなく包帯のようです。

答えて

2

最初のレンダリングでListViewに空の配列を渡していますか?

もしそうなら、単にこのセクションではおそらく唯一のセクションである空のセクションでListViewをレンダリングしているという警告です。代わりにnullを返していない場合は、

enableEmptySections={true} 

を渡すことができますいずれかまたは、リストビューのためのデータがあるかどうかを確認するために簡単なチェックを行うことができます。データはビューを介して来ると、リストビューレンダリング機能で

if (!this.state.myVar) return null 

return <MyListView myData={this.state.myVar} /> 
で再レンダリングされます
関連する問題