react使用axios接收后台promise对象数据,前端渲染不正确

#1

请原谅是个新手小白
这是前台接收的代码,不知道应该怎么处理
4
前端返回的结果是下图,使用JSON.stringify会转成正常的字符串,但是用JSON.parse数据处理不出来,为0
1
这是后台传过来的数据格式
2

#2

应该不用调用JSON.parse。另外异步操作应放到componentDidMount生命周期里。

1 Like
#3

我也遇到了这个问题,自己调试过来感觉问题应该出在数据为数组上面,把数据改成单个的就没问题了,还在想办法,希望有大佬可以帮助一下,微信:MM634040513

#4

受教了!!请问如果是异步操作就必须放在componentDidMount生命周期中么?这样不是还要等到DOM渲染完成后才可以加载数据,时效上是不是会慢?

#5

写在DidMount里就是为了防止性能问题的。这样DOM会先渲染出来,异步的操作会在完成之后刷新Dom,如果写在之前的生命周期函数里,会阻止DOM渲染,也就是白屏等待时间会长。

1 Like
#6

非常感谢您解答了我长久以来的一个疑惑,受益匪浅…十分感谢

#7

不慢,这样才符合常理,异步相当于是更新数据、更新ui。

#8

十分感谢您的解答,我一直都没怎么弄明白异步是个什么情况,只以为是后台数据获取时间的不一致性