调用this.setState报错undefined is not an object (evaluating 'Object.keys(dataBlob[sectionID])'



  • 求助求助,哪位大神帮我看下
    我要实现的功能是点击list的一项,然后在文本框中填上当前被点击项的值,但是一调用setState就会报错,并且报错是122行,122行是我自定义的一个下拉选项,我并没有改变这个下拉选项的state,和dropdownlist 一点关系都没有- -,实在是知道该怎么解决了,哪位大神帮忙看下,感谢感谢!!

    0_1523173861976_1.png
    1_1523173861977_2.png
    2_1523173861978_3.png 3_1523173861979_4.png 0_1523174272740_5.png



  • 首先这种问题经常出现,主要是自己代码逻辑问题,因为提示很明显,undefined is not object,就是变量没有值,或者没初始化,或者在赋值是给的是undefined
    另外setState应该没问题,但是setState后,会触发render,去里边打印一下state看看,有没有下面用到,但是值不对的。
    再另外Object.keys 这个有没有地方用,问题就在这啊,dataBlob很可能是undefined



  • 感谢,解决了。原来是在DropdownList里面有这个方法的原因,我删掉这段代码就没问题了,我没想明白的是setState和这个组件一点关系都没有,为什么会调用这里面的方法
    0_1523238772799_6.png


登录后回复