首页 > 解决方案 > 输入for循环反应+打字稿?

问题描述

我有一个 Todo 的这个界面:

export interface InitialTodoLoadingState {
  toggleComplete: boolean;
  updateText: boolean;
  deleteTodo: boolean;
}
export interface Todo {
  complete: boolean;
  _id: string;
  text: string;
  loading: InitialTodoLoadingState;
}

我正在尝试像这样循环一组 todos 对象:

const processing = todos // check if processing operations e.g.: toggle complete
      .map((todo: TodoInterface) => {
        for (let loadProp in todo.loading) {
          if (todo.loading[loadProp]) return true; // ERROR HERE
          return false;
        }
      })
      .some(process => !!process);

我收到一条错误消息:

Element implicitly has an 'any' type because type 'InitialTodoLoadingState' has no index signature.

我如何在这里实现打字稿?我不想使用任何

标签: reactjstypescriptreact-tsx

解决方案


要删除错误,请添加索引签名(请参阅此处):

export interface InitialTodoLoadingState {
  toggleComplete: boolean;
  updateText: boolean;
  deleteTodo: boolean;
  [key: string]: boolean;
}

推荐阅读