Size: a a a

2020 July 20

🦜

🦜 in ☄️ effector
Andrey
хз, лодашевские эти path селекторы - это то, от чего надо бежать, имо)
так это натив
источник

🦜

🦜 in ☄️ effector
источник

🦜

🦜 in ☄️ effector
правда денормализовать
источник

🦜

🦜 in ☄️ effector
)
источник

A

Andrey in ☄️ effector
🦜
так это натив
я к тому, что это не типизировать никак
источник

🦜

🦜 in ☄️ effector
Andrey
я к тому, что это не типизировать никак
ну блять, чем-то жертвовать надо
источник

A

Andrey in ☄️ effector
🦜
ну блять, чем-то жертвовать надо
ну хз, типизация это цветное
источник

🦜

🦜 in ☄️ effector
Andrey
ну хз, типизация это цветное
нет🌝
источник

A

Andrey in ☄️ effector
у меня сейчас есть вариант сделать просто разные формы, которые зависят друг от друга
источник

A

Andrey in ☄️ effector
const contacts = createForm({email: string(), phone: string()});
const user = createForm({
 contacts,
 name: string(),
 location: { // i am inline form
   city: string(),
   country: string()
});

user.values.watch(console.log);
contacts.set("email", "blah"); // => {name: "", contacts: {email: "blah", phone: ""}, location: {city: "", country: ""}}
user.set("location", {city: "asd", country: "dsa"}); // => {name: "", contacts: {email: "blah", phone: ""}, location: {city: "asd", country: "dsa"}}

const ContactField = createField(contacts, ({value, onChange, error, validate}) => …)
const UserField = createField(user, ...)


const Email = () => <ContactField name="email" />
источник

DS

Dmitriy Shuleshov in ☄️ effector
Решил прям тут сделать либу?🌚
источник

A

Andrey in ☄️ effector
Dmitriy Shuleshov
Решил прям тут сделать либу?🌚
так это уже работает, просто интересно как реагируют на такое апи)
источник

🦜

🦜 in ☄️ effector
Andrey
так это уже работает, просто интересно как реагируют на такое апи)
const field = contact.field(name, config)
источник

A

Andrey in ☄️ effector
🦜
const field = contact.field(name, config)
тогда будет привязка к рендерилке в слое модели
источник

ЕГ

Егор Гуща in ☄️ effector
Andrey
const contacts = createForm({email: string(), phone: string()});
const user = createForm({
 contacts,
 name: string(),
 location: { // i am inline form
   city: string(),
   country: string()
});

user.values.watch(console.log);
contacts.set("email", "blah"); // => {name: "", contacts: {email: "blah", phone: ""}, location: {city: "", country: ""}}
user.set("location", {city: "asd", country: "dsa"}); // => {name: "", contacts: {email: "blah", phone: ""}, location: {city: "asd", country: "dsa"}}

const ContactField = createField(contacts, ({value, onChange, error, validate}) => …)
const UserField = createField(user, ...)


const Email = () => <ContactField name="email" />
а валидация?)
источник

A

Andrey in ☄️ effector
Егор Гуща
а валидация?)
тут пока большой простор, особенно с асинк валидацией, и с тем, что вернется после валидации

пока что то типа form.validate()/form.validateField("…") засеттит в стор errors объект той же схемы, но в качестве значений результат валидации, если есть ошибки
источник

ЕГ

Егор Гуща in ☄️ effector
Andrey
тут пока большой простор, особенно с асинк валидацией, и с тем, что вернется после валидации

пока что то типа form.validate()/form.validateField("…") засеттит в стор errors объект той же схемы, но в качестве значений результат валидации, если есть ошибки
ну здесь тебе придется пробегаться по всему дереву чтобы валидировать какое-то поле
и валидация самой формы, у всех полей должено быть типа valid: true
источник

ЕГ

Егор Гуща in ☄️ effector
помимо errors нужно поле isValid, кмк
источник

A

Andrey in ☄️ effector
Егор Гуща
ну здесь тебе придется пробегаться по всему дереву чтобы валидировать какое-то поле
и валидация самой формы, у всех полей должено быть типа valid: true
почему? если валидируем всю форму - она валидируется вся, сверху вниз
если валидируется одно поле, валидируется одно поле

насчет валид - думаю, можно проще, чекать результат последней валидации просто, и держать его в памяти
источник

A

Andrey in ☄️ effector
Егор Гуща
помимо errors нужно поле isValid, кмк
так это же тождественно, нет?
isValid = !error
источник