RN语法求助



  • 0_1458633500415_Capture.jpg

    如图,我想在then里面每当检查是文件,就向state里面的filelist压入数据 。

    然而实际结果是,后面完全没数据。求助!!!!!!



  • 你指的是state.filelist里面没数据吗?
    如果是这样,你是在什么时候检查filelist里的数据,state里的值改变是异步的,改变后会触发render,你在render里看有没有数据。



  • 0_1458634763802_Capture.jpg

    如图,我数据是找到了的,可以打印出来没有进入filelist里面



  • @cgafeng 命名压入进去了,但是list在render却没有值。

    0_1458634979419_Capture.jpg

    再 看这个。。好像只有在then里面才有效???为何??我该如何????



  • 我之前也碰到这样的问题,没找到原因,结果就不在componentDidmount设置值了,延迟一会再设置state就可以。不知道有没有人知道原因?



  • @cgafeng 那咋个延迟设置???求指教。。。。



  • @xueshandemao 比如在componentDidmount里设个定时器,定时器时间到后获取数据



  • @cgafeng 这个可以有,我去试试!!!谢谢了



  • 。。。。。这,楼主敢情没搞明白异步的执行顺序问题吧



  • @EvanJin 。。。。。。。。。。。就这么回复一句话????你逗我???我起床,开电脑,以为是一个更好的方案呢!!!坑谁呢???!!!!!!!以后别这么玩了,求不水!!!!!


  • administrators

    你只能在then里setState,包括你的filelist,也必须在then中重新setState,而不能直接赋值
    then里面和then外面不是一个时空(then外面先执行)



  • @sunnylqm 大哥,我不是很懂,你可以给点代码吗???万分感谢。。。。。


  • administrators

    @xueshandemao 我大概一个小时也讲不清楚



  • @sunnylqm 不用讲,只给解决这个问题的代码就好!!!!万分感谢!


  • administrators

    @xueshandemao 我已经说了
    修改state必须使用setState(包括你的filelist,push完了还得重新setState)



  • @sunnylqm 完蛋了!!原来这个论坛的人都是这么解决问题的!!!!!!!!!表示再也不会来了,抱歉,是我的错,我不该来提问的,以后再也不会出现!!!!!!!!!! 经特么瞎bb,有种拿代码!!!!!!!!


  • administrators

    @xueshandemao 慢走不送


登录后回复