Size: a a a

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

2020 July 15

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Т.е. есть setIn который собирает со всех форм, а есть хук, который позволяет вынести данные?
нет. $values создается для каждой формы свой изолированный. и он не как не пересекается с остальными формами.
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
setIn это как lodash.set он нужен просто что бы удобно манипулировать $values потому что $values это object с любыми уровнями вложенных полей
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Я тебе задал конкретный вопрос. Как разместить 2 формы на странице?
если ты знаешь effector то вообще здорово. тем более интересно твое мнение
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
лично на мой взгляд, удобство работы с формами на много выше и гибче чем был в redux-form и formik.

тут $values это стейт с которым можно делать все что угодно.
источник

A

Andrey in React — русскоговорящее сообщество
эх, а мой вопрос проигнорили(
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Andrey
эх, а мой вопрос проигнорили(
а какой? видимо не заметил
источник

A

Andrey in React — русскоговорящее сообщество
Andrey
и типизировать строковый литерал, в виде полей объекта
этот
источник

A

Andrey in React — русскоговорящее сообщество
просто один из столпов эффектора - типизация всех и вся
а тут получается что в таком частоиспользуемом моменте, как ключ филда - надо писать просто строку
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Andrey
просто один из столпов эффектора - типизация всех и вся
а тут получается что в таком частоиспользуемом моменте, как ключ филда - надо писать просто строку
Это принципиально нетипизируемая вещь. Не вижу проблемы
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Andrey
и типизировать строковый литерал, в виде полей объекта
ну в случае с getIn, setIn, типизация это проблемный момент.

но в целом $values легко поддается типизации.

useForm<{profile: {firstName: string, lastName: string}}>();
источник

A

Andrey in React — русскоговорящее сообщество
Андрей Звёздочка
Это принципиально нетипизируемая вещь. Не вижу проблемы
принципиально нетипизируемая - не надо использовать 🤨
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Andrey
принципиально нетипизируемая - не надо использовать 🤨
Альтернатива?
источник

A

Andrey in React — русскоговорящее сообщество
Андрей Звёздочка
Альтернатива?
плоские ключи
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Andrey
плоские ключи
И что меняется? Как не было типизируемо до, так и нетипизируемо после
источник

A

Andrey in React — русскоговорящее сообщество
Андрей Звёздочка
И что меняется? Как не было типизируемо до, так и нетипизируемо после
всм, плоские ключи отлично типизируются
keyof SomeEntity
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
сам стор $values типизировать легко. и в во всех местах связанных со сторой будет видна типизация. она лишь слетит когда будем юзать setIn/getIn

слетит конкретно в этих методах. но общая типизация никуда не денется
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Andrey
всм, плоские ключи отлично типизируются
keyof SomeEntity
Эм, нет. Это будет такая же эфимерная типизация, как и вложенные структуры. ts никакой валидации проводить не будет.
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Andrey
ну и с апи там беда, конечно
ключи на строках, еще и в объектной нотации
а тут вообще не верно. видимо не правильное представление сложилось
источник

A

Andrey in React — русскоговорящее сообщество
Андрей Звёздочка
Эм, нет. Это будет такая же эфимерная типизация, как и вложенные структуры. ts никакой валидации проводить не будет.
будет же
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
https://codesandbox.io/s/react-final-form-simple-example-cswer?file=/index.js

кто нибудь мне объяснит что я сделал не так?
источник