背景
最近在学习react,大概的技术栈是 react + redux + react-router + jquery(网络请求,不知道有不有比jquery更好的解决方案
) + webapck.
问题
自己动手开始写一个小demo,功能很简单,就是在应用启动的时候发出一个API请求,如果返回 {success:true}
则进入主页面(也就是某个路由
),如果返回 {success:false}
则进入一个提示页面。
我的api请求是写在一个action里面的,暂且把这个action叫做user_auth
吧,问题来了,我怎么才能根据接口的返回结果进行路由跳转 ?
我的想法
- 是要在dispatch
user_auth
的时候,把props.history
当做参数传递过去,然后在API调用结束之后,控制路由跳转? - 还是在dispatch
user_auth
的时候,在API调用结束之后,再dispatch 另外一个action,这个新action用来修改store里对应的API返回状态,然后在component
的componentWillReceiveProps
方法里根据这个状态来跳转到不同的页面?
苦恼
试了下上面两个方案都不怎么靠谱,也看了些别人写的例子,都没找到比较合适的方案,求大神解答。。。
一定要做跳转吗?非得用路由? 可以试试直接在 render 里判断啊 true 就是一种 view,false 是另外一种
@russj 谢啦,在npm上找到一个库 redux-history-transitions
,还挺好用的。
@yinzSE fetch好像只适合做get请求
request.js 不知道能不能在前端用,
先顶着。 redux结合router 还没开始用
@yinzSE sorry.😢。之前没认真看文档。。谢啦。
@ystyle 嗯,star好多。
@yinzSE fetch的支持还是不够啊,在稍老点的浏览器就没法用
@ystyle 这个在ios7也没法用。。。