具有新状态的 Redux 调度操作和化简器
redux dispatch action and reducer with new state
我有这样的操作:
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
}
}
在这里,我的状态没有改变,我也没有在上面的行动中获得getState()
值。
我不认为我的化简器被调用并且状态已更新。
谁能问我这里有什么问题?
我认为你错过了dispatch(loginSuccess(response))
当心裸返回语句。自动分号插入的已知陷阱之一是return
变得return;
。
所以代替:
return
[{
fname: action.fname,
lname: action.lname,
}]
请改为执行以下操作:
return [{
fname: action.fname,
lname: action.lname,
}];
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Redux-正确调度操作
- reactJs redux:如何对用户事件调度操作并将操作与化简器和存储链接
- 我可以在没有 Redux Thunk 中间件的情况下调度多个操作吗?
- 如何从不知道 Redux 的服务调度操作
- 在 redux 中调度不同的操作
- 具有新状态的 Redux 调度操作和化简器
- 如果正在调度操作,是否会调用每个 Redux 缩减器
- 反应/Redux 应用程序操作未正确调度
- 我如何从我的API模块调度一个redux操作?
- 在Redux不工作的情况下调度操作,得到未捕获的typeError,说它不是一个函数
- 调度操作创建器语法react-redux
- 如何在redux-thunk中断言在异步操作内部调度的异步操作
- 在特定日期时间调度操作
- push()即使我推送相同的url也会调度LOCATION_CHANGE操作
- 如何在使用Redux进行异步操作调度后检索状态数据
- 如何从存储本身获取在存储上调度的最后一个操作类型
- React-Router:为什么 组件的 onClick 处理程序不会调度我的操作
- Redux thunk:从调度操作中返回承诺
- Redux:根据交叉化简器状态调度操作