跳到主要内容
CNode

求react高人指点,不知道该怎么做路由跳转??

问答
Qqinyang912发布于 11 年前最后回复 11 年前
12221110
目录 · 4 个章节

背景

最近在学习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)

Q
qinyang912#1211 年前
引用 ystyle@ystyle https://github.com/mzabriskie/axios 这个看起来不错

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

Q
qinyang912#1111 年前
引用 yinzSE@qinyang912 https://github.com/github/fetch usage

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

Q
qinyang912#911 年前
引用 yinzSE@qinyang912 https://github.com/github/fetch usage

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

X
xushao0305#811 年前

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

Y
ystyle#611 年前

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

Q
qinyang912#411 年前
引用 yinzSEfetch 试试, 返回 promise 对象 来自炫酷的 CNodeMD

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

Y
yinzSE#311 年前

fetch 试试, 返回 promise 对象

来自炫酷的 CNodeMD

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

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

R
russj#111 年前

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

参与回复

登录后即可参与回复。登录