0

请有人帮我理解这段代码。这是 Fuse React 代码的一部分,你可以用谷歌搜索它。问题,我不知道如何将数据保存到 DynamoDB。我应该使用 Lambda 保存到 DynamoDB 还是这段代码正在做所有事情,而我只需要更改 Axios Get URI?我没有得到请求中的路径:

await axios.get('/api/todo-app/todos'

我应该在我的 api 网关上有一个确切的路径吗?如果是,我应该包括api吗?或者这意味着我的 api 服务器 URL?

这是默认代码,没有任何更改。Todo App 通过 Axios 发送请求:

export const getTodos = createAsyncThunk(
  'todoApp/todos/getTodos',
  async (routeParams, { getState }) => {
    routeParams = routeParams || getState().todoApp.todos.routeParams;
    const response = await axios.get('/api/todo-app/todos', {
      params: routeParams,
    });
    const data = await response.data;

    return { data, routeParams };
  }
);

并且模拟 api 正在接收如下请求:我不知道我应该将其复制并粘贴到 Lambda 中吗?或者它只是一个模拟 api,如果我使用 DynamoDB,我根本不需要它。

mock.onGet("/api/todo-app/todos").reply((config) => {
  const { params } = config;
  let response = [];
  if (params.labelHandle) {
    const labelId = todoDB.labels.find(
      (label) => label.handle === params.labelHandle
    ).id;

    response = todoDB.todos.filter(
      (todo) => todo.labels.includes(labelId) && !todo.deleted
    );
  } else if (params.filterHandle) {
    if (params.filterHandle === "deleted") {
      response = todoDB.todos.filter((todo) => todo.deleted);
    } else {
      response = todoDB.todos.filter(
        (todo) => todo[params.filterHandle] && !todo.deleted
      );
    }
  } // folderHandle
  else {
    let { folderHandle } = params;
    if (!folderHandle) {
      folderHandle = "all";
    }

    if (folderHandle === "all") {
      response = todoDB.todos.filter((todo) => !todo.deleted);
    } else {
      const folderId = todoDB.folders.find(
        (folder) => folder.handle === folderHandle
      ).id;
      response = todoDB.todos.filter(
        (todo) => todo.folder === folderId && !todo.deleted
      );
    }
  }

  return [200, response];
});

这似乎很容易配置,但我已经工作了 2 周,但没有运气!

任何解释都会非常有帮助的家伙!谢谢,

4

0 回答 0