我浏览了React-Native文档以弄清renderRow()
是什么,但由于某种原因,我无法理解Facebook React-Native文档中的内容
这是官方文档所说的
(rowData,sectionID,rowID,highlightRow)=>可渲染
从数据源及其ID中获取数据条目,并应返回要呈现为行的可呈现组件。默认情况下,数据正是输入到数据源中的数据,但是也可以提供自定义提取器。可以通过调用highlightRow(sectionID,rowID)突出显示行时通知ListView。这将在renderSeparator中设置booleanedRowHighlighted的布尔值,使您可以控制突出显示的行上方和下方的分隔符。可以通过调用highlightRow(null)重置行的突出显示状态。
[问题:] 有人可以用示例向我解释一下吗?
答案 0 :(得分:2)
ListView
已过时,请使用FlatList
并使用等效的renderItem
方法。这负责根据数据记录实际渲染每一行:
const data = [
{ key: '1', label: 'foo' },
{ key: '2', label: 'bar' }
]
renderTheItem = ({item}) => {
return <Text>{item.label}</Text>
}
<FlatList
data={data}
renderItem={this.renderTheItem}
/>
呈现的结果将是这样的:
<View> --> coming from FlatList wrapper
<Text key="1">foo</Text> --> coming from the custom renderTheItem function
<Text key="2">bar</Text>
</View>
必须为每个数据记录添加唯一的键道具,或者定义一个keyExtractor
函数。用item
破坏渲染器函数中的({item})
也很重要,因为它还有其他用documentation of FlatList编写的元参数。
renderItem({ item, index, separators}) => {}