Javascript 反应本机ListView键

Javascript 反应本机ListView键,javascript,listview,reactjs,key,react-native,Javascript,Listview,Reactjs,Key,React Native,我的应用程序上出现了一条警告,这让我很烦恼。react一直说我需要为每一行添加键,但不管怎样,我都不能添加这些键 我的代码如下所示: <ListView style={styles.listView} dataSource={this.state.favs} renderSeparator={() => <View style={styles.listSeparator}/>} renderRow={(rowData,i) => <C

我的应用程序上出现了一条警告,这让我很烦恼。react一直说我需要为每一行添加键,但不管怎样,我都不能添加这些键

我的代码如下所示:

 <ListView
   style={styles.listView}
   dataSource={this.state.favs}
   renderSeparator={() => <View style={styles.listSeparator}/>}
   renderRow={(rowData,i) => <Card data={rowData} 
            onPress={this.onCardPress.bind(this,rowData)} /> }
/>
}
renderRow={(行数据,i)=>}
/>
我尝试像这样在我的组件上添加键
/
我还尝试从我的组件中的道具中获取关键点,并将其添加到我的案例中组件的第一个元素是TouchbleOpacity

<TouchableWithoutFeedback
        key={this.props.key}
        style={styles.cardBtn}>


有人能给我一个暗示吗?还是应该忽略此警告?

实际上
renderRow
获取四个参数
(rowData、sectionID、rowID、highlightRow)
,您需要第三个参数,而不是第二个参数

renderRow={(rowData, sectionID, rowID) => <Card key={rowID} data={rowData} 
            onPress={this.onCardPress.bind(this,rowData)} /> }
renderRow={(rowData,sectionID,rowID)=>}

参考资料:

正如加布里埃尔·洛佩斯在其著作中所述,一个常见的错误是忘记为分隔符添加键

因此,请确保它们已添加。您可以通过传递给separator函数的参数来构建它们:

renderSeparator(sectionId、rowId、adjacentrow高亮显示){
返回();
}

谢谢@Cherniv,我犯了一个愚蠢的错误,我还意识到我需要为renderSeparator添加一个键