为了账号安全,请及时绑定邮箱和手机立即绑定

React中使用map不能全部遍历数组。

React中使用map不能全部遍历数组。

慕尼黑8549860 2019-03-06 10:15:23
才使用map遍历数组发现不能遍历到数组最后一个元素。如果数组为空,map函数不执行。render() {    console.log(this.props.items);    var Items=this.props.items.map((i)=>{        return <RecipeItem key={i} id={i} RemoveId={this.handleRemoveId.bind(this)} />    });    console.log(Items);    return (        <div id='itemcontainer'>            {Items}        </div>    )}
查看完整描述

4 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

应该是父组件后来给items添加的元素,console.log的不一定是执行时候的数据,可以看下items的获取


查看完整回答
反对 回复 2019-03-30
?
哔哔one

TA贡献1854条经验 获得超8个赞

render() {

    return (

        <div id='itemcontainer'>

            {

                this.props.items.length>0 && this.props.items.map((i)=>{

                   return( <RecipeItem key={i} id={i} RemoveId={this.handleRemoveId.bind(this)}/>)

               }

        </div>

    )

}


查看完整回答
反对 回复 2019-03-30
?
翻阅古今

TA贡献1780条经验 获得超5个赞

已经解决。后来仔细调试之后发现其实是由于this.props.items数组有元素,但长度为0.同这个问题链接描述


查看完整回答
反对 回复 2019-03-30
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

自己试验了一下,查看chrome这个调试工具是在你点开对象的时候去获取当前对象内容的,而不是打印的时候,所以console中打印的比较准确的是对象的摘要信息(也就是可以点击展开的那个),比如上图中的[] 和 (3)[{...},{...},{...}] 分别代表数组里面对象个数为0和3.

https://img1.sycdn.imooc.com//5c9f0a7c0001dccd08000730.jpg

查看完整回答
反对 回复 2019-03-30
  • 4 回答
  • 0 关注
  • 1143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信