加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React-Native中Array的key警告

发布时间:2020-12-15 07:23:06 所属栏目:百科 来源:网络整理
导读:我们在项目里面,经常会用的批次渲染,比如一个列表渲染很多个item,或者一个横排或者竖排同时渲染多个数据等这种情况,一个个写显然是最笨的做法,当数据多时根本无法做到,此时很多人都会想到以下做法: render(){ var eleArray = []; for(var i=0;i ZWVie

我们在项目里面,经常会用的批次渲染,比如一个列表渲染很多个item,或者一个横排或者竖排同时渲染多个数据等这种情况,一个个写显然是最笨的做法,当数据多时根本无法做到,此时很多人都会想到以下做法:

render(){ var eleArray = []; for(var i=0;i<ZWViewExample.examples.length;i++){  var ele=( <View style={{marginBottom: 10,backgroundColor: 'white',padding: 10}}> <Text style={{marginBottom: 10}}>{ZWViewExample.examples[i].title}</Text> {ZWViewExamdple.examples[i].render()} </View> ) eleArray.push(ele); } return( <ScrollView style={{flex:1}}> {eleArray} </ScrollView> ); }

这样写确实是一个非常不错的做法,但是这样写,React-Native会报一个警告,需要你对每个item添加一个key。

解决方法就是为View加上一个key,这个key可以成为每一个View的唯一标识,根据这个标识就可以找到指定的View进行操作。

改进后的写法为:

render(){ var eleArray = []; for(var i=0;i<ZWViewExample.examples.length;i++){  var ele=( <View style={{marginBottom: 10,padding: 10}} key={i}> <Text style={{marginBottom: 10}}>{ZWViewExample.examples[i].title}</Text> {ZWViewExamdple.examples[i].render()} </View> ) eleArray.push(ele); } return( <ScrollView style={{flex:1}}> {eleArray} </ScrollView> ); }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读