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

Вижу, что в проектах на Реакте тайпскриптовые типы заменяют пакет

PropTypes. Вопрос — а как быть со значениями по умолчанию? То есть раньше я писал так:


Button.propTypes = {
type: PropTypes.oneOf(['button', 'reset', 'submit']),
};

Button.defaultProps = {
type: 'button',
};


Теперь же propTypes заменяется на:


type Props = {
type: 'button' | 'reset' | 'submit';
}

а что с дефолтПропс?

11 ответов

9 просмотров

Нормальные люди PropTypes уже не использут. Даже в документации Реакта написано что нужно использовать ts вместо propTypes

zdravstvujte-Mone Автор вопроса

Здорово, только я о другом спрашивал. Существует ли аналогичная замена дефолтПропсам? Очевидно можно при деструктуризации присвоить значение по умолчанию, как написали выше, но мне чёт такой вариант не очень нравится, может есть что-то более красивое?

>но мне чёт такой вариант не очень нравится Почему? Самый рабочий вариант же

zdravstvujte-Mone Автор вопроса

Да наверное привычка использовать ПропТайпс)

Проптайпы и тс — разные вещи для разных задач. Дефолт делается так же, как в обычном джаваскрипте. Компонент — это функция

zdravstvujte-Mone Автор вопроса

Есть смысл использовать PropTypes, если проект на ТСе?

нет

Зависит от назначения проекта

zdravstvujte-Mone Автор вопроса

Например?

Например, проект — это библиотека компонентов или виджет. Ты не можешь гарантировать, что у кастомера будет тс, который подхватит твои типы. Зато рантайм у него точно будет

zdravstvujte-Mone Автор вопроса

Аа, логично, спасибо

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

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

Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
@sand_witch скорее к тебе вопрос, добавил в .cabal webdriver-w3c и вот такая ошибка от nix develop error: Package ‘script-monad-0.0.4’ in /nix/store/7vdxbra0kwbr0ys0kc5...
Fedor
5
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
I have a type conversion problem, I have a optional field, it contains a list of integers or null, when I try to convert it from sqflite I use above method, but when it is nul...
Alper
2
Карта сайта