我有以下行动:
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
}
}
值。
我不认为我的减速器被调用并且状态已更新。
有谁能在这里向我提出什么错误?
答案 0 :(得分:2)
我认为你遗失了dispatch(loginSuccess(response))
答案 1 :(得分:2)
谨防裸露的退货声明。自动分号插入的一个已知缺陷是return
变为return;
。
所以而不是:
return
[{
fname: action.fname,
lname: action.lname,
}]
请改为:
return [{
fname: action.fname,
lname: action.lname,
}];