Путаница с ошибкой потока относительно функции фильтра - PullRequest
0 голосов
/ 27 января 2020

В Javascript Я написал код для редуктора, чтобы обрабатывать добавление и удаление строк из массива. Этот код работает нормально:

const taskId: string = action.payload;
let taskIds: ?Array<string> = state.selectedTaskIds;

if (!taskIds) {
  taskIds = [taskId];
} else if (taskIds.includes(taskId)) {
  if (taskIds.length === 1) {
    taskIds = null;
  } else {
    const idx = taskIds.indexOf(taskId);
    taskIds = [...taskIds.slice(0, idx), ...taskIds.slice(idx +1, taskIds.length)];
    // DNW: taskIds = taskIds.filter((selTaskId: ?string) => selTaskId !== taskId);
  }
} else {
  taskIds.push(taskId);
}

Что не работает, так это закомментированная строка с префиксом «DNW», которая должна выполнить sh, что делают 2 строки кода над ней. Я получаю сообщение об ошибке потока:

Отсутствует аннотация типа для T. T - это параметр типа, объявленный в типе массива [1] и неявно созданный при вызове метода filter [2] .Flow (InferError)

Я пробовал несколько вещей, но не смог не решить, поэтому я использовал другой подход. Но мне очень любопытно, что говорит мне это сообщение об ошибке и как его решить.

...