能否在组件生命周期里面,执行一些异步请求,如果请求返回的结果为空,遍阻止render执行?

来源:8-4 牛人列表-使用 redux 管理牛人列表

qq_忍_2

2018-02-17

能否在组件生命周期里面,执行一些异步请求,如果请求返回的结果为空,便阻止render执行?

在render里面一些变量在渲染的时候并没有数据,导致控制台报错:

http://img.mukewang.com/szimg/5a87dc680001e67607360314.jpg


写回答

2回答

qq_Nicholas蚂蚁_04411783

2018-03-02

写个三元表达式判断请求回来数据再render组件,否则就是null

0
0

吉诺比利GOAT

2018-02-22

根据你的截图 说明list不是一个数组 所以map不是一个function, 说明你的异步请求没有拿到数据,
一定记住 UI=render(data) 现有数据 然后再渲染, 渲染的结果因为数据的不同而不同。你去检查
一下你的异步请求哪里有问题,如果你用的redux来管理数据, 异步请求拿到数据, 然后改变redux状态
树里的状态 然后再用mapStateToProp去提取redux状态树上的数据 然后渲染出来


0
1
qq_忍_2
你好,谢谢你的答复 情况是这样 : 异步请求没有任何问题,只是render比异步先执行了,所以没有拿到数据结果报错了 我的问题是: 能否在请求结果未出来之前,不执行render?我发现很多地方都是render先实行了,而放在componentDidMount方法里执行的请求数据延迟返回.
2018-02-25
共1条回复

Redux+React Router+Node.js全栈开发

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

1822 学习 · 750 问题

查看课程