Однако использование двух общих клавиш, по -видимому, ссылается на правильное подмножество данных, подказки разрешаются Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Однако использование двух общих клавиш, по -видимому, ссылается на правильное подмножество данных, подказки разрешаются

Сообщение Anonymous »

У меня есть структура данных, которая выглядит следующим образом: < /p>

Код: Выделить всё

import { ParasiteDescription, LookBackDescription } from '@/movies/static';
import type { MovieGenre, MovieDescription } from '@/movies/types';

const movies = {
drama: {
parasite: {
description: ParasiteDescription,
director: 'Bong Joon Ho',
}
},
animation: {
'Look Back': {
description: LookBackDescription,
director: 'Tatsuki Fujimoto'
}
},
comedy: {},
action: {},
} as const satisfies Record<
MovieGenre,
Record<
string,
{
description: MovieDescription;
director: string;
}
>

type StaticMovieData = typeof movies;
Я хочу создать компонент, который позволит пользователю ссылаться на любой «жанр» в этом статическом списке, а затем любой фильм, в котором перечислены в этом жанре. Вот что я попробовал: < /p>

Код: Выделить всё

interface MovieProps {
genre: T;
title: K;
}

function Movie({
genre,
title,
}: MovieProps) {
const data = movies[genre][title];
const description = data.description;
}
< /code>
data
, по -видимому, показывает правильный тип, показывающий что -то примерно похожее на Staticmoviedata [t] [k] в моей IDE. Тем не менее, описание указано как любой тип , и я не могу понять, почему
Почему это будет? Я бы подумал, что тип соответственно знает, куда он ссылается на этот объект, который является статичным
РЕДАКТИРОВАТЬ: TypeScript Playground Link

Подробнее здесь: https://stackoverflow.com/questions/795 ... -however-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»