Size: a a a

2020 August 04

A

Andrey in ☄️ effector
я про то, что
const MyComp = <T>({ ... }: Props<T>) => {
 ...
}
успешно взорвется, считая что <T> - это жсх тег

а в случае
function MyComp<T>({ ... }: Props<T>){
 ...
}
все успешно заинферрится и проинтерпретируется
источник

A

Andrey in ☄️ effector
или ты про то, что там children из коробки в тайпингах пропов будет? 😬
источник

m

makoven in ☄️ effector
И какие из этих полей ты используешь?
источник

П

Первый 🦄 Император... in ☄️ effector
Andrey
или ты про то, что там children из коробки в тайпингах пропов будет? 😬
ага
источник

A

Andrey in ☄️ effector
а, соре

(справедливости ради, редко юзаю этот проп)
источник

m

makoven in ☄️ effector
Чилдрен желательно типизировать руками. Он ведь тоже часть интерфейса компонента
источник

DS

Dmitriy Shuleshov in ☄️ effector
makoven
И какие из этих полей ты используешь?
PropsWithChildren
источник

П

Первый 🦄 Император... in ☄️ effector
Andrey
я про то, что
const MyComp = <T>({ ... }: Props<T>) => {
 ...
}
успешно взорвется, считая что <T> - это жсх тег

а в случае
function MyComp<T>({ ... }: Props<T>){
 ...
}
все успешно заинферрится и проинтерпретируется
а в чём суть дженерика для компонента?
источник

m

makoven in ☄️ effector
Dmitriy Shuleshov
PropsWithChildren
В интерфейсе Props прописываешь поле children с нужным тебе типом
источник

П

Первый 🦄 Император... in ☄️ effector
makoven
В интерфейсе Props прописываешь поле children с нужным тебе типом
зачем?
источник

A

Andrey in ☄️ effector
Первый 🦄 Император
а в чём суть дженерика для компонента?
источник

m

makoven in ☄️ effector
Затем, что он может быть числом или хитрой функцией, например
источник

П

Первый 🦄 Император... in ☄️ effector
а, ок.в этом кейсе оправдано
источник

П

Первый 🦄 Император... in ☄️ effector
makoven
Затем, что он может быть числом или хитрой функцией, например
MyComp' cannot be used as a JSX component.
 Its return type 'number' is not a valid JSX element
источник

m

makoven in ☄️ effector
Первый 🦄 Император
MyComp' cannot be used as a JSX component.
 Its return type 'number' is not a valid JSX element
Чилдрен это просто проп. Как его пользовать решаешь ты сам. Поэтому children часть api твоего компонента
источник

A

Andrey in ☄️ effector
makoven
Чилдрен это просто проп. Как его пользовать решаешь ты сам. Поэтому children часть api твоего компонента
справедливо, настолько же, насколько часто это поле имеет тип React.ReactNode 😬
(оба поинта валидны, как обычно ит депендс он сичуэйшон)
источник

П

Первый 🦄 Император... in ☄️ effector
makoven
Чилдрен это просто проп. Как его пользовать решаешь ты сам. Поэтому children часть api твоего компонента
ага, вот я описал children как string[]
источник

A

Andrey in ☄️ effector
Первый 🦄 Император
ага, вот я описал children как string[]
так и в компоненте, эти чилдрены должны соответствующе юзаться
источник

A

Andrey in ☄️ effector
как пример из апи эффектора
createStoreConsumer - создает компонент, у которого чилдрены - рендер функция
источник

R

Rafael 🦠 in ☄️ effector
@ZeroBias при использовании index/init/state, сколько раз во всем проекте может быть заимпорчен один и тот же init?

т.е я не вижу никаких ограничений, если этот импорт сделаю два и более раз
источник