2017-11-22 18 views
0

私はFlatListでフッタをレンダリングしたいのですが、いくつかの奇妙だ:私はすべてのこれらの関数はコンストラクタでコールをバインド置く場合は、FlatListはとのフッタをレンダリングすることはできませんネイティブFlatListバグに反応しますか?

<FlatList 
    data={this.state.dataArray} 
    renderItem={this._renderItemView} 

    ListFooterComponent={this._renderFooter} 
    onEndReached={this._onEndReached} 
    onEndReachedThreshold={1} 
    ItemSeparatorComponent={this._separator} 
    // BUG here: above functions which has been bind this in component constructor, FlatList Footer would not render 

    // // below functions called bind this here, FlatList Footer renders fun 
    // ListFooterComponent={this._renderFooter.bind(this)} 
    // onEndReached={this._onEndReached.bind(this)} 
    // onEndReachedThreshold={1} 
    // ItemSeparatorComponent={this._separator.bind(this)} 
/> 

constructor(props) { 
    super(props); 
    // bind this for these 4 functions, cause FlatList footer can not be render 
    this._renderFooter=this._renderFooter.bind(this) 
    this._onEndReached=this._onEndReached.bind(this) 
    this._separator = this._separator.bind(this) 
} 

FlatListを_renderFooterは期待通りに機能します。

デモプロジェクト:https://github.com/xilibro/ReactNativeFlatListDemo

+0

'://facebook.github.io/react-native/releases/0.43/docs/flatlist.html #listfootercomponent –

答えて

1

フッターが

const RTFooter = (props) =>{ 
     return(
      <View> 
       <Text>Hello</Text> 
      </View> 
     ); 
    }; 

    RTFooter.propTypes = { 

    }; 

export default RTFooter; 

フッターは別のオプションは、矢印機能(ファイン)

を使用することで、クラス

あるべきである

  ListFooterComponent={<Footer {...this.props}/>} 

をお試しください

renderFooter =() =>{ 
    return(<View/>); 
    } 

、その後

ListFooterComponent`は `ReactClass`はないfunction.httpsにする必要があり
ListFooterComponent={this.renderFooter} 
関連する問題