Redux Action Method不会返回任何响应

时间:2016-11-08 12:40:38

标签: reactjs promise redux react-redux

我刚创建了以下动作方法

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); } }; } 可能有什么问题?

这是控制台快照:

enter image description here

2 个答案:

答案 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}`); 
      };
    }