Как назначить интерфейс для const - PullRequest
1 голос
/ 04 мая 2020

Я плохо знаком с Typescript, в моем const issuesInitialState я пытаюсь назначить интерфейс IssuesInitialState, но я получаю следующие ошибки.

Тип '{}' отсутствует следующие свойства из типа 'Issue': closeDate, description, issueId, lastEditDate и еще 6 more.ts (2740)

Ожидаемый тип происходит из свойства issue, которое объявлено здесь для типа IssuesInitialState

export interface Issue {
  closeDate: string | null;
  description: string;
  issueId: number;
  lastEditDate: string | null;
  priorityId: string;
  projectId: number;
  reportDate: string;
  statusId: string;
  title: string;
  userId: number;
}

interface IssuesInitialState{
  issues:Issue[];
  issue:Issue; 
  issuesByProject:Issue[];
  updateIssue:Issue;
}

export const issuesInitialState:IssuesInitialState = {
  issues: [],
  issue:{},
  issuesByProject: [],
  updateIssue: {},
};

Чтобы я мог набрать состояние приведения в IssuesInitialState.

export const issuesReducer = (
  state = issuesInitialState,
  action: { type: string; payload: Issue }
) :{}=> {
  switch (action.type) {
.....

1 Ответ

0 голосов
/ 04 мая 2020

У вашего Issue есть свойства, поэтому, по вашему мнению, его нельзя объявить как {}. Если переменная имеет тип, который является объектом со свойствами, вы должны объявить эти свойства при объявлении переменной.

Надеюсь, это достаточно ясно. Удачи!

...