Javascript 具有新状态的redux调度动作和减速器
我的行动如下:Javascript 具有新状态的redux调度动作和减速器,javascript,reactjs,redux,Javascript,Reactjs,Redux,我的行动如下: export function login(){ my_login(function(response){ if(response.status == "ok"){ loginSuccess(response) } }) } export function loginSuccess(response){ return dispatch => { dispatch({ response, type
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
操作时,它会再次调用myu login
,然后我将调度我的loginsucess
操作
我有一个减速机,比如:
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
}
}
在这里,我的状态没有改变,也没有得到上面的getState()
值
我不认为我的减速器被调用,状态被更新
有人能告诉我这里出了什么问题吗?我想你错过了
调度(loginsucess(response))
小心那些简单的返回语句。自动插入分号的一个已知陷阱是return
变成return代码>
因此,不是:
return
[{
fname: action.fname,
lname: action.lname,
}]
改为这样做:
return [{
fname: action.fname,
lname: action.lname,
}];