Добрый вечер!
Имею интерфейс:
export interface Pokemon {
id: number
name: string
base_experience: number
height: number
is_default: boolean
order: number
weight: number
abilities: object[]
forms: object[]
game_indices: object[]
held_items: object[]
location_area_encounters: string
moves: object[]
sprites: object
species: object
stats: object[]
types: object[]
}
Далее в редьюсере объявляю интерфейс для начального стейта:
interface PokemonState {
pokemonData: Pokemon;
isLoading: boolean;
isError: string;
}
Ну и собственно, объявляю сам стейт
const initialState: PokemonState = {
pokemonData: {},
isLoading: false,
isError: "",
};
Но по итогу получаю ошибку в поле pokemonData:
Type '{}' is missing the following properties from type 'Pokemon': id, name, base_experience, height, and 13 more
Данные в pokemonData приходят с API по мере необходимости.
Помогите, пожалуйста, исправить!
PS интересно то, что если в интерфейсе для pokemonData указать тип Pokemon[], и в начальном стейте в поле написать pokemonData: [], то ошибка пропадет, а с ОБЪЕКТОМ вылетает ошибка
PSS Будет ли являться правильным решением поставить все поля в типе Pokemon необязательными?