169 похожих чатов

Подскажите. Есть компонент Badge где-то в гайде. У него есть color

с типом type IBadgeColors = 'green' | 'blue' | 'gray';

На клиентской стороне надо написать что-то типа
let color = 'gray';

switch (status) {
case 2:
color = 'blue'
case 3:
color = 'green'
case 4:
color = 'gray' }

<Badge color={ color } />

TS ругается на color.
Как правильно писать такие вещи.
Не экспортировать же наружу тип IBadgeColors?

2 ответов

22 просмотра

const Badge = ({ color }: { color: 'gray' | 'foo' | 'bar' }) => { return <div>{color}</div>; }; const X = ({ status }: { status: 1 | 2 | 3 }) => { const getColor = () => { switch (status) { case 1: return 'gray'; case 2: return 'foo'; case 3: default: return 'bar'; } }; const color = getColor(); return <Badge color={color} />; }; если я правильно понял, этот код ошибку не выдаст.

Oleg Rizhkov 🇺🇦
const Badge = ({ color }: { color: 'gray' | 'foo' ...

функции, которые не зависят от переменных компонента лучше выносить за пределы компонента или мемоизировать, иначе на каждый ререндер будет создаваться новая функция

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

Обсуждают сегодня

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
привет всем. Народ, кто-нибудь работал с мультипоточностью? Где посмотреть/ что почитать посоветуете? В идеале чтоб материал был максимально сжатый, времени читать например в...
Serg Vish
18
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
11
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
36
Карта сайта