React FlatList renderItem

问题描述:

我在JS中见过这种语法,我只是好奇它是如何工作的。在FlatList的React Native Docs中,一个示例调用renderItem。 this._renderItem如何知道它正在使用哪个单独的列表项?它看起来像项目正在解体,但从什么对象? Example from React Native DocsReact FlatList renderItem

换句话说:在Flatlist,另一种方式,使这个相同的调用可能是:

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

是renderItem一些特殊的道具,其中{}项目永远是解构ARG?

数据丙 - 需要经由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> 
); 
}