Size: a a a

TypeScript — русскоговорящее сообщество

2020 April 24

NS

Nikita Stenin in TypeScript — русскоговорящее сообщество
Evgeniy Vashkov
хм, я не типизировал map/dispatch
А как их типизировать на основе типов пропсов компонента?
источник

EV

Evgeniy Vashkov in TypeScript — русскоговорящее сообщество
Спасибо большое! Вроде похоже на то что мне нужно)
источник

ГК

Гаджимари Качаев in TypeScript — русскоговорящее сообщество
Всем привет. Ребят, отключаете ли у вы у себя в настройках eslint-а опцию react/prop-types при работе с реактом? При попытке использовать FunctionComponent, линтер ругается с ошибкой: "Missing prop validation typescript functional component". На гитхабе есть открытый (issue)[https://github.com/yannickcr/eslint-plugin-react/issues/2353] и там предлагаются два варианта, либо использовать function declaration, либо в параметрах ф-ии дублировать тип. На stackoverflow говорилось о том, что есть какие-то конфликты eslint-а в проектах на ts. Что интерфейсов и типов ts достаточно, чтобы отказаться от prop-types. Только недавно перешел на ts, поэтому хотелось узнать как вы у себя решили подобную проблему.

interface LocaleProviderProps {
 lang: Locale;
}
export const LocaleProvider: FC<LocaleProviderProps> = ({ lang, children }) => {...}
источник
2020 April 25

SL

Stephenie Lambert in TypeScript — русскоговорящее сообщество
Join this open investment group and earn up to $15000 where members are mandated to upload proofs of their payout daily for all to see and also free trade signals available on daily basis

PM me for more details.
источник

u

uid in TypeScript — русскоговорящее сообщество
Возможно, так: play.
источник

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
Гаджимари Качаев
Всем привет. Ребят, отключаете ли у вы у себя в настройках eslint-а опцию react/prop-types при работе с реактом? При попытке использовать FunctionComponent, линтер ругается с ошибкой: "Missing prop validation typescript functional component". На гитхабе есть открытый (issue)[https://github.com/yannickcr/eslint-plugin-react/issues/2353] и там предлагаются два варианта, либо использовать function declaration, либо в параметрах ф-ии дублировать тип. На stackoverflow говорилось о том, что есть какие-то конфликты eslint-а в проектах на ts. Что интерфейсов и типов ts достаточно, чтобы отказаться от prop-types. Только недавно перешел на ts, поэтому хотелось узнать как вы у себя решили подобную проблему.

interface LocaleProviderProps {
 lang: Locale;
}
export const LocaleProvider: FC<LocaleProviderProps> = ({ lang, children }) => {...}
Проще без React.FC/React.FunctionComponent, вот тут сравнение: https://github.com/facebook/create-react-app/pull/8177

export const LocaleProvider = ({ lang, children }: Props) => { ... }


Только children нужно вручную описать.

interface Props {
 lang: Locale;
 children: React.ReactNode;
}


Дополнительным преимуществом тут является то, что можно сделать ключ children обязательным (например для компонентов, которые без children не имеют смысла). С React.FC children всегда опциональный.
источник

D

Dmitry Eroshenko in TypeScript — русскоговорящее сообщество
uid
Возможно, так: play.
👍
источник

ЕЛ

Евгений Лабутин in TypeScript — русскоговорящее сообщество
У меня назрел вопрос интересный. Судя по статистике npm:
- Реактом пользуются 8 379 168 человек
- Редаксом пользуются 5 061 379
- Мобиксом пользуются 323 601
- Некстом пользуются 544 366

А чем пользуются остальные 2 449 822 человек?
источник

DK

Dan Kozlov in TypeScript — русскоговорящее сообщество
Stateless? Контекстом?
источник

DK

Dan Kozlov in TypeScript — русскоговорящее сообщество
Есть еще много мелких либ, типа storeon.
источник

ЕЛ

Евгений Лабутин in TypeScript — русскоговорящее сообщество
там совсем штучные скачивания
источник

JS

John Smith in TypeScript — русскоговорящее сообщество
Евгений Лабутин
У меня назрел вопрос интересный. Судя по статистике npm:
- Реактом пользуются 8 379 168 человек
- Редаксом пользуются 5 061 379
- Мобиксом пользуются 323 601
- Некстом пользуются 544 366

А чем пользуются остальные 2 449 822 человек?
А они поняли, что очень маленькая часть стейта нужна во всём проекте. В основном это информация о пользователе, его правах и т.д. В таких объемах проще контекст задействовать.
источник

YD

Yaroslav Dvorovenko in TypeScript — русскоговорящее сообщество
В этом и идея новых версий реакта дабы убрать остальное и работать черёз context api
источник

YD

Yaroslav Dvorovenko in TypeScript — русскоговорящее сообщество
Кастомные хуки, useReducer очень помогают
источник

YD

Yaroslav Dvorovenko in TypeScript — русскоговорящее сообщество
Часто проблема в том что люди рассматривают hooks api как замену lifecycle hooks но на самом деле это нечто большее
источник

YD

Yaroslav Dvorovenko in TypeScript — русскоговорящее сообщество
Советую прочитать очень длинную статью Абрамова
источник

YD

Yaroslav Dvorovenko in TypeScript — русскоговорящее сообщество
источник

YD

Yaroslav Dvorovenko in TypeScript — русскоговорящее сообщество
А кто планирует приезжать в Одессу летом - мы отобрали классный доклад на конференцию odessa Js на эту тему
источник

K

Konstantin in TypeScript — русскоговорящее сообщество
Всем привет.

Есть простой проект, файлы разложены по папкам, всё связано через import/export.

Мне нужно скомпилировать всё в один файл чтобы можно было результат скопировать, и бросить в консоль браузера.

Вопрос можно ли это сделать без Webpack?

P.S. Флаг --outFile не подходит т.к. он требует замену commonJs на system или amd, что при этом создаёт код не валидный для браузера, или я что-то не понял.

Заранее благодарю.
источник

EG

Egor Gorbachev in TypeScript — русскоговорящее сообщество
Евгений Лабутин
У меня назрел вопрос интересный. Судя по статистике npm:
- Реактом пользуются 8 379 168 человек
- Редаксом пользуются 5 061 379
- Мобиксом пользуются 323 601
- Некстом пользуются 544 366

А чем пользуются остальные 2 449 822 человек?
2 миллиона это не количество людей, а количество установок в месяц, это могут быть hello world'ы чьи-то, туториалы, многократный запуск npm install на CI без кеша пакетов. Ну и у реакта очень большое количество стейт-менеджеров: https://gist.github.com/artalar/e5e8a7274dfdfbe9d36c9e5ec22fc650
Всё это по чуть-чуть в сумме и даёт такое число.
источник