如何在listview中呈现多个自定义行-Reactnative

如何在listview中呈现多个自定义行-Reactnative,listview,react-native,listviewitem,Listview,React Native,Listviewitem,我正在使用ListView显示项目列表。到目前为止,我已经显示了相同类型的项目,所以没有问题。现在我要展示不同种类的物品。如何渲染不同类型的行,如第2行,渲染此组件,第5行,渲染该组件 默认情况下,要为行显示1个自定义视图,我使用以下代码: <ListView stickySectionHeadersEnabled={false} scrollEnabled={!this.state.shouldAnimate}

我正在使用ListView显示项目列表。到目前为止,我已经显示了相同类型的项目,所以没有问题。现在我要展示不同种类的物品。如何渲染不同类型的行,如第2行,渲染此组件,第5行,渲染该组件

默认情况下,要为行显示1个自定义视图,我使用以下代码:

<ListView
                stickySectionHeadersEnabled={false}
                scrollEnabled={!this.state.shouldAnimate}
                style={styles.listView}
                enableEmptySections={true}
                dataSource={this.state.dataSource}
                renderSectionHeader = {this.renderSectionHeader}
                renderRow={(data) => <CellProgram data={data} onPress={this.GetSectionListItem.bind(this, data)} />}
            />
}
/>

这将为所有行呈现CellProgram。我应该改变什么来为特定行显示它,为其他行显示不同的布局?

您可以根据代码编写if语句或开关

<ListView
  stickySectionHeadersEnabled={false}
  scrollEnabled={!this.state.shouldAnimate}
  style={styles.listView}
  enableEmptySections={true}
  dataSource={this.state.dataSource}
  renderSectionHeader = {this.renderSectionHeader}
   renderRow={(data,i) => {
    if(i==1){}
    else if (i==2){}
    .......
   }}
/>
{
如果(i==1){}
如果(i==2){}
.......
}}
/>

别忘了在if语句中添加return

我会告诉你要渲染的行号对不起,我不明白,i是什么?如何设置不同的行?明白了。实际上
(data,i,j)
更好,因为我将给出节id,j将给出行id