Javascript 反应本机ListView键
我的应用程序上出现了一条警告,这让我很烦恼。react一直说我需要为每一行添加键,但不管怎样,我都不能添加这些键 我的代码如下所示: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
<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添加一个键