Javascript 学习雷迪克斯·图恩。如何触发行动
我正在学习Thunk,我不确定我做错了什么。 下面我有两个动作创作者。第一个返回一个对象,第二个返回一个函数(“Thunk”) 当调用Javascript 学习雷迪克斯·图恩。如何触发行动,javascript,reactjs,redux-thunk,Javascript,Reactjs,Redux Thunk,我正在学习Thunk,我不确定我做错了什么。 下面我有两个动作创作者。第一个返回一个对象,第二个返回一个函数(“Thunk”) 当调用doThing操作创建者时,我希望一秒钟后调用名为pingApiAction的操作创建者。就目前而言,这并没有发生 我做错了什么 export const pingApiAction = function(){ console.log("ping") return {type:"PING"} } exp
doThing
操作创建者时,我希望一秒钟后调用名为pingApiAction
的操作创建者。就目前而言,这并没有发生
我做错了什么
export const pingApiAction = function(){
console.log("ping")
return {type:"PING"}
}
export function doThing() {
console.log("works")
return (dispatch) => {
setTimeout(() => {
// Yay! Can invoke sync or async actions with `dispatch`
dispatch(pingApiAction());
}, 1000);
};
}
从我看来,你的问题是你的减速机,而不是你的行动或行动的创造者 因此,如果您希望更正自己的代码,您可以粘贴您的减速机,或者简单地使用我为您编写的减速机:
//action creator
const pingApiAction = function(){
console.log("ping")
return {type:"PING"}
}
//action creator
function doThing() {
console.log("works")
return (dispatch) => {
setTimeout(() => {
// Yay! Can invoke sync or async actions with `dispatch`
dispatch(pingApiAction());
}, 1000);
};
}
//reducer
const reducer =(state={ping:""},action)=>{
switch(action.type){
case "PING":
return{...state,ping:"It works"}
default:
return state;
}
}
const store = Redux.createStore(reducer);
console.log(store.getState());
store.dispatch({ type: 'PING' });
console.log(store.getState());
从我看来,你的问题是你的减速机,而不是你的行动或行动的创造者 因此,如果您希望更正自己的代码,您可以粘贴您的减速机,或者简单地使用我为您编写的减速机:
//action creator
const pingApiAction = function(){
console.log("ping")
return {type:"PING"}
}
//action creator
function doThing() {
console.log("works")
return (dispatch) => {
setTimeout(() => {
// Yay! Can invoke sync or async actions with `dispatch`
dispatch(pingApiAction());
}, 1000);
};
}
//reducer
const reducer =(state={ping:""},action)=>{
switch(action.type){
case "PING":
return{...state,ping:"It works"}
default:
return state;
}
}
const store = Redux.createStore(reducer);
console.log(store.getState());
store.dispatch({ type: 'PING' });
console.log(store.getState());
那么发生了什么?您是否看到控制台中的工作
?您能告诉我们在哪里/如何调用doThing
的函数调用吗?那么发生了什么?您是否看到控制台中的工作
?您能告诉我们在哪里/如何调用doThing
的函数调用吗?