我刚创建了以下动作方法
false
但是当我调用此函数时,它会打印第一个控制台命令,但不会返回任何内容。即使它不打印export function searchProducts(searchQuery) {
console.log('REDUX - searchQuery: ', searchQuery);
return {
types: [SEARCH, SEARCH_SUCCESS, SEARCH_FAIL],
promise: (client) => { console.log('client is: ', client); client.get('/products/search/:' + searchQuery); }
};
}
可能有什么问题?
这是控制台快照:
答案 0 :(得分:0)
Redux操作对象有一个要求,即它必须具有类型的键值。你的对象应该是这样的......
return { type: "SomeAction", payload: someValue };
答案 1 :(得分:0)
你的Redux中间件中是否有一个clientMiddleware注入?
我认为你有一些像客户端中间件注入的东西,以使其工作,然后在商店中应用?
你的代码也有错误。承诺是一个ajax / fetch或你正在使用的任何东西都有promise对象,它不会返回client.get。所以它不会起作用。返回关键字必须在那里。
export function searchProducts(searchQuery) {
console.log('REDUX - searchQuery: ', searchQuery);
return {
types: [SEARCH, SEARCH_SUCCESS, SEARCH_FAIL],
promise: (client) => {
console.log('client is: ', client);
return client.get('/products/search/' + searchQuery);
}
};
}
或
export function searchProducts(searchQuery) {
console.log('REDUX - searchQuery: ', searchQuery);
return {
types: [SEARCH, SEARCH_SUCCESS, SEARCH_FAIL],
promise: (client) => client.get(`/products/search/${searchQuery}`);
};
}