React怎样才能先ajax,ajax完成后再渲染页面

#1

自己在做项目的时候,进入页面前会发ajax,把所以需要的数据装到redux里面,当然我页面中有数据是从redux里面提取的,如果我最开始在redux给这些值设一个默认值,由于ajax是异步的,所以会有一个数据切换的动作,如果我一开始不设默认值,那么会报错,告诉我没有那个数据,我有尝试在componentwillmount里面发起ajax,但是不管用,就是因为虽然你发ajax了,但是由于是异步的,所以他执行后面的render了,导致每次都有这个问题,现在我的解决办法是把ajax换成同步,强行等数据装好了,再渲染页面,感觉不正确啊

最近又在捣鼓阿里的开源项目dva,虽然里面也有专门的异步,但是发现都会有相同的问题,如果我把所有的数据都提前写一个默认值感觉好麻烦,他还会变,不写就报错,真不知道怎么捣鼓了

#3

谢谢你,我以为是我写的有问题,原来是react自带的坑,怨不得我看github别人的项目有好多{name&&}(或者三元运算符那种),现在感觉应该是懒得设空置,直接判断有没有,没有就隐藏,有了就显示