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

react改变state里得数值得问题

react改变state里得数值得问题

莫回无 2019-03-27 17:19:13
代码如下://点击事件longBtnClick=()=>{             this.setState((prev)=>({            ifNextScenes:true,            step:prev.step+1   //增加step得数值,默认是0        }),()=>{            setTimeout(()=>{                this.setState({                    ifNextScenes:false                })            },300);        })    }//render<img  className="mainImg" src={     this.state.onSwitch?this.props.data[parseInt(this.state.step)].text   //这里报错了,此时this.state.step应该时等于1     :     this.props.dataT[parseInt(this.state.step)]    } /> 问题:在第一遍默认加载得时候,一切正常,但当点击时,提示如下错误:Uncaught TypeError: Cannot read property '1' of undefined为什么会报1得错误,它只是个下标又不是变量?数组时确认有1下标得。
查看完整描述

5 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

这个报错是下标前的变量是 ubdefined,也就是 this.props.data 是 undefined


查看完整回答
反对 回复 2019-04-04
?
慕慕森

TA贡献1856条经验 获得超17个赞

报错的意思是你的data属性不存在


查看完整回答
反对 回复 2019-04-04
?
慕标琳琳

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

this.props.data 数据没有获取到


查看完整回答
反对 回复 2019-04-04
?
烙印99

TA贡献1829条经验 获得超13个赞

出现这个错误的原因是你的this.props.data或者this.props.dataT中有一个是undefined,你可以把这两个值打印出来看看就知道了


查看完整回答
反对 回复 2019-04-04
?
慕村225694

TA贡献1880条经验 获得超4个赞

呃,找到原因了,数组第一个和第二个得节奏不一样导致得



查看完整回答
反对 回复 2019-04-04
  • 5 回答
  • 0 关注
  • 453 浏览
慕课专栏
更多

添加回答

举报

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