2017-06-14 28 views
0

問題はこれです。状態変数に基づいて、私はListView renderRowで再利用可能なコンポーネントをレンダリングするか、nullを返します。ListView状態変更時に再レンダリングされません

//renderRow 
if (this.state.openSections[sectionID] === false) {return null} 

    return (<View style = {{flex :1, overflow : 'hidden'}}> 
       <CalculatorItem item = {rowData}></CalculatorItem> 
      </View>) 

部が押下されると、openSectionsに対応するエントリがユーザに見えるようにするために、行がレンダリングすべきであることを示す、trueまたはfalseにトグルオブジェクト。

sectionPressed: function(sectionID) { 
    ... 
     //create a new openSections var and set the state 
     this.setState((state, props) => { return { openSections }}); 
    } 

ただし、リストビューアイテムはレンダリングされません。

手がかりはありますか?

+0

さらに詳しい情報が必要です。リストビューはどこですか? – sooper

+0

ここでコードを共有できますか? –

答えて

0

ListViewは、データソースが変更されたときにのみレンダリングされます。それ以外の場合はそのままです。したがって、状態を変更するときに、dataSourceプロパティの値を変更することもできます。

関連する問題