redux调度动作和减速器具有新状态

时间:2016-01-27 07:18:54

标签: javascript reactjs redux

我有以下行动:

adminLogin.jsp

当我的export function login(){ my_login(function(response){ if(response.status == "ok"){ loginSuccess(response) } }) } export function loginSuccess(response){ return dispatch => { dispatch({ response, type: types.LOGIN }); console.log("dispatched"); console.log(getState()); ---> I want the updated state router.transitionTo("/some_url");----> after this I want to route it to somewhere }; } 操作被调用时,它再次调用login,然后我将调度my_login操作。

我有一个减速器,如:

loginSuccess

这里我的状态没有变化,我没有得到上面的const initialState = [ { fname: null, lname: false, } ] export default function login(state = initialState, action) { switch (action.type) { case LOGIN: console.log("actions dude") console.log(action) return [{ fname: action.fname, lname: actin.lname, }] default: return state } } 值。

我不认为我的减速器被调用并且状态已更新。

有谁能在这里向我提出什么错误?

2 个答案:

答案 0 :(得分:2)

我认为你遗失了dispatch(loginSuccess(response))

答案 1 :(得分:2)

谨防裸露的退货声明。自动分号插入的一个已知缺陷是return变为return;

所以而不是:

return 
[{
  fname: action.fname,
  lname: action.lname,
}]

请改为:

return [{
  fname: action.fname,
  lname: action.lname,
}];