Size: a a a

2021 June 15

l

lllla in ☄️ effector
Никак не получится.
На основании конфига и его данных нужно построить новые гарды, используя данные из этого конфига и других ивентов
источник

c⁣

createStore<🦉>... in ☄️ effector
опиши задачу полностью плиз
источник

YL

Yan👀 Lobaty in ☄️ effector
ну так это мб будет просто функция с параметрами
источник

YL

Yan👀 Lobaty in ☄️ effector
которая внутри будет создавать гарды и тд
источник

YL

Yan👀 Lobaty in ☄️ effector
почему вотч обязательно?
источник

l

lllla in ☄️ effector
Парни, сорян) связи не было (еду в поезде)
Уже решил без watch
источник

SM

Sergey Makhnatkin in ☄️ effector
Всем привет!
Подскажите пожалуйста как написать примерно такой код на effector-forms и yup:

1) на форме два поля: селект и инпут. В случае, если в первом поле (селекте) пользователь выбрал тип заказа: самовывоз:, то инпут ниже становится необязательным (все проверки валидации при вводе данных в него остаются, но вот если пользователь ничего не ввел, то это ок для самовывоза)

2) я написал этот на чистом эффекторе, но рефакторю через еффектор-формс и yup. Чего хочу: написать схему для поля иппут такую, в которой по yup есть when и исход определяется по значению select

проще говоря, я пытаюсь подружить два кода, но не знаю как:
из эффектор-формс:
https://github.com/aanation/effector-forms#validate-by-external-source

const loginForm = createForm({
 fields: {
   email: {
     init: "",
     rules: [
       {
         name: "required_if",
         source: $needToValidate,
         validator: (value, form, needToValidate) => {
           if (!needToValidate) return true
           return Boolean(value)
         }
       },
     ],
   },
 },
})


и из yup:
https://github.com/jquense/yup#mixedwhenkeys-string--arraystring-builder-object--value-schema-schema-schema


let schema = object({
 isBig: boolean(),
 count: number()
   .when('isBig', {
     is: true, // alternatively: (val) => val == true
     then: yup.number().min(5),
     otherwise: yup.number().min(0),
   })
   .when('$other', (other, schema) => (other === 4 ? schema.max(6) : schema)),
});

await schema.validate(value, { context: { other: 4 } });


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

т.е. я хочу, что-то типа:


const loginForm = createForm({
 fields: {
   email: {
     init: "",
     rules: [
       {
         name: "required_if",
         source: $needToValidate,
         validator: (value, form, needToValidate) =>  yup.scheme().when(и вот тут юзать needToValidate)        },
     ],
   },
 },
})


подскажите плз как лучше сделать
источник
2021 June 16

A

Alexander in ☄️ effector
Привет, оффтоп (не баньте, плез): #вакансия #vue #effector
Ищу в команду фронта на effector

Занимаемся аутсорс разработкой.
ЗП 120-200

Проект:
Платформа онлайн-образования для одной из лучших частных школ в России

Стек:
- vue.js
- typescript
- effector

Работа:
- Удаленка
- Атомарные команды
- Дейлики
- Спринты

Возможен парт-тайм.

Подробнее о вакансии:
@alex_dark_stalker
источник

☬ Sᴀʏᴅᴜʟʟᴏ ツ... in ☄️ effector
Почему не реакт?
источник

АБ

Александр Бакиматов... in ☄️ effector
мб потому что у них проект на vue?))
источник

MK

Maxim Koylo in ☄️ effector
источник

c⁣

createStore<🦉>... in ☄️ effector
Может стоит отправить в @javascript_jobs?
источник

1

1N54N3 in ☄️ effector
источник

DS

Dmitriy Shuleshov in ☄️ effector
Так как и всегда в js, создать функцию под повторяющийся участок кода
источник

1

1N54N3 in ☄️ effector
Я думаю там можно только функцию для фильтра создать
источник

DS

Dmitriy Shuleshov in ☄️ effector
function createMessageStructure () {
const push = createEvent()
const delete = createEvent()
 
const $store = createStore([])
 .on(push, (state, pushPayload) => [...state, ...pushPayload])
 .on(remove, (state, deleteItem) =>
   state.filter(item => item.id !== deleteItem.id)
 )
 return [$store, push, delete]
}

// Usage
const
[$messageImages, pushImages, removeMessageImage] = createMessageStructure()
const
[$messageDocuments , pushDocuments , removeMessageDocument] = createMessageStructure()
источник

1

1N54N3 in ☄️ effector
источник

1

1N54N3 in ☄️ effector
А это усложняет код?
источник

DS

Dmitriy Shuleshov in ☄️ effector
В каком смысле?
источник

1

1N54N3 in ☄️ effector
Спасиб
источник