2017-08-01 42 views
3

我在JS中見過這種語法,我只是好奇它是如何工作的。在FlatList的React Native Docs中,一個示例調用renderItem。 this._renderItem如何知道它正在使用哪個單獨的列表項?它看起來像項目正在解體,但從什麼對象? Example from React Native DocsReact FlatList renderItem

換句話說:在Flatlist,另一種方式,使這個相同的調用可能是:

<FlatList <other props> renderItem={({item}) => (<MyListItem ....) /> 

是renderItem一些特殊的道具,其中{}項目永遠是解構ARG?

回答

1

數據丙 - 需要經由data prop到數據陣列傳遞給FlatList。這在this.props.data上可用。

renderItem prop - 然後,您要使用renderItem prop渲染內容。該函數傳遞一個參數,它是一個對象。您感興趣的數據位於item key,因此您可以使用解構來訪問函數內的數據。然後使用該數據返回一個組件。

render() { 
return (
    <List> 
     <FlatList 
     data={this.state.data} 
     renderItem={({ item }) => (
      // return a component using that data 
     )} 
     /> 
    </List> 
); 
}