求react高人指点,不知道该怎么做路由跳转??
发布于 9 年前 作者 qinyang912 21349 次浏览 最后一次编辑是 8 年前 来自 问答

背景

最近在学习react,大概的技术栈是 react + redux + react-router + jquery(网络请求,不知道有不有比jquery更好的解决方案) + webapck.

问题

自己动手开始写一个小demo,功能很简单,就是在应用启动的时候发出一个API请求,如果返回 {success:true}则进入主页面(也就是某个路由),如果返回 {success:false}则进入一个提示页面。 我的api请求是写在一个action里面的,暂且把这个action叫做user_auth吧,问题来了,我怎么才能根据接口的返回结果进行路由跳转 ?

我的想法

  1. 是要在dispatch user_auth的时候,把props.history当做参数传递过去,然后在API调用结束之后,控制路由跳转?
  2. 还是在dispatch user_auth 的时候,在API调用结束之后,再dispatch 另外一个action,这个新action用来修改store里对应的API返回状态,然后在componentcomponentWillReceiveProps方法里根据这个状态来跳转到不同的页面?

苦恼

试了下上面两个方案都不怎么靠谱,也看了些别人写的例子,都没找到比较合适的方案,求大神解答。。。

12 回复

一定要做跳转吗?非得用路由? 可以试试直接在 render 里判断啊 true 就是一种 view,false 是另外一种

@russj 谢啦,在npm上找到一个库 redux-history-transitions ,还挺好用的。

fetch 试试, 返回 promise 对象

来自炫酷的 CNodeMD

@yinzSE fetch好像只适合做get请求

request.js 不知道能不能在前端用,

先顶着。 redux结合router 还没开始用

@yinzSE sorry.😢。之前没认真看文档。。谢啦。

@ystyle 嗯,star好多。

@yinzSE fetch的支持还是不够啊,在稍老点的浏览器就没法用

@ystyle 这个在ios7也没法用。。。

回到顶部