Какова цель экспорта интерфейса Props in React (Typescript ver)

Вот мой путь. Конечно, вы можете ввести его в процедуру: -)

SET @median_counter = (SELECT FLOOR(COUNT(*)/2) - 1 AS `median_counter` FROM `data`);

SET @median = CONCAT('SELECT `val` FROM `data` ORDER BY `val` LIMIT ', @median_counter, ', 1');

PREPARE median FROM @median;

EXECUTE median;

Вы можете избежать переменной @median_counter, если вы ее подставите:

SET @median = CONCAT( 'SELECT `val` FROM `data` ORDER BY `val` LIMIT ',
                      (SELECT FLOOR(COUNT(*)/2) - 1 AS `median_counter` FROM `data`),
                      ', 1'
                    );

PREPARE median FROM @median;

EXECUTE median;
1
задан Jonathan 19 March 2019 в 08:58
поделиться

1 ответ

Во-первых, я рекомендую декларировать ваши компоненты способом ES6

const Hello: React.FC<IHello> = ({ name, enthusiasmLevel = 1 }) => {}

Ваш интерфейс определяет контракт вашего компонента / Принятые параметры

export interface IHello {
  name: string;
  enthusiasmLevel?: number;
}

Вы экспортируете это, так что вы можете импортируйте ваш интерфейс из других файлов / компонентов, которые хотят использовать компонент Hello. Например, вы можете использовать свой компонент Hello так же, как и из другого компонента:

const props: IHello = {
    name: "John",
    enthusiamsLevel: 5
}

<Hello {...props} />

Если я уже использую этот тип синтаксиса интерфейса Typescript для проверки типа, мне все еще нужно использовать Proptypes в одном и том же компоненте?

Вы всегда хотите использовать строгие определения типов в TypeScript. Поэтому, когда вы объявляете переменную prop в другом компоненте, вы не хотите этого делать const props: any = {. Если вы решите изменить объявление интерфейса для этого компонента позже, вам придется обновить все ссылки, которые используют этот интерфейс. - Возможно, вы захотите потребовать еще 1 переменную проп, и в этом случае вы захотите обновить использование этого интерфейса. Если вы не привыкли к TypeScript, на первый взгляд это может показаться довольно отвратительным, но выгода от наличия четких определений типов со временем будет очевидна. Особенно, когда вы обновляете определения типов.

0
ответ дан Jonas Praem 19 March 2019 в 08:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: