
Dmitry
16.07.2018
17:33:02
на самбит кидай это в редукс
а локально через стейт или контекст


Nikolai
16.07.2018
17:36:02
добрый вечер. нужна помощь сообщества. собираюсь переписывать приложение, ранее написаное на чистом js + jquery. Приложение управляется полностью с клавиатуры (есть и кликабельные элементы, но их по минимуму, и их функционал так же доступен через клавиатуру). То есть кликаем допустим на f1, и появляется модальное окно с инпутами, заполняем их, и далее идет ajax на api. По сути все приложение - это набор модальных окон, вызываем и управляемых клавой. В окнах множество инпутов зависящих друг от друга (заполняемое значение в одном влияет на значение в другом). Переход между инпутами также управляется клавой. Приложение ориентировано на высокую скорость работы с ним, поэтому и было решено работать через клаву.
Сейчас в коде получился полный бардак.
Поэтому и было принято решение привести все в порядок.
И ближе к сути. Поможет ли здесь реакт ? И если да, нужен ли здесь redux ? Точнее, нужно ли вообще для такого приложения единое хранилище?
Для форм рекомендую посмотреть на Redux-Form или Formik. Redux дает прозрачность, можно всегда узнать кто и зачем изменил любое из полей формы, плюс можно получить/задать сотояние любого компонента приложения.


Kendr
16.07.2018
17:36:28
Redux form забудьте как страшный сон и не имейте такую наглость тащить его в проект

Google

Kendr
16.07.2018
17:37:17

REJUv
16.07.2018
17:37:21

Kendr
16.07.2018
17:37:23

Daniyar
16.07.2018
17:37:38
на самбит кидай это в редукс
вешать на сабмит все не получится. потому как пользователь мгновенно должен видеть результат. допустим заполняем фамилию Иванова, а в поле Пол уже должно заполниться Женский. и таких связанных полей куча

Dmitry
16.07.2018
17:37:58
через контекст бы менеджил
типа редукса что-то

Daniyar
16.07.2018
17:38:10

Dmitry
16.07.2018
17:38:13
просто на контексте

Artyom
16.07.2018
17:38:18
Что с гитхабом...

Kendr
16.07.2018
17:38:19

Daniyar
16.07.2018
17:38:52
окей, получится куча action'ов. Но видимо в моей случае этого не избежать
либо куча экшенов для redux, либо куча логики будет в представлениях

Google

Artyom
16.07.2018
17:39:34

Kendr
16.07.2018
17:39:43

Daniyar
16.07.2018
17:40:33
всем спасибо ребята, что откликнулись

Kendr
16.07.2018
17:41:23
ок, спасибо, щас почитаю
{ [event.target.name]: event.target.value }
У инпута должен быть определен name, но можно определить его через дополнительный вызов функции
handleChange('name')
handleChange = (name) => (event) =>

Daniyar
16.07.2018
17:42:54
а переход между инпутами через ref сделать? и последний вопрос, для каждого модального окна мне нужно каждый раз переопределять коллбеки для клавиш от f1 до f10. это мне в hoc лучше сделать?

Kendr
16.07.2018
17:43:31

Daniyar
16.07.2018
17:45:02

Yakov
16.07.2018
17:50:11
гитхабчик чтоли прилег?

Varyen
16.07.2018
17:50:54
да, ему не очень

Kendr
16.07.2018
17:51:00

Spaider
16.07.2018
17:51:34

Yakov
16.07.2018
17:51:44
вот что значит МС
ппц

Daniyar
16.07.2018
17:51:50
Ок, большое спасибо!

Yakov
16.07.2018
17:51:51
почему?

Kendr
16.07.2018
17:52:47
Вроде

Google

Kendr
16.07.2018
17:53:21
Ну по рефам же фокус ?
Хз псевдорешение только описал

Artem
16.07.2018
17:56:46
парни кто нить пробивался в jest enzyme когда тестишь компонент с жесткой привязкой к ридаксу? ищу способ менять просы и стейт, но это работает только для root компонента, а root это connect

One
16.07.2018
18:11:48

Kendr
16.07.2018
18:23:13

One
16.07.2018
18:26:06

Andrew
16.07.2018
18:26:45

Kendr
16.07.2018
18:27:17

from
16.07.2018
18:27:18
че-то ты не знаешь что говоришь)

Sergey
16.07.2018
18:30:46
я делаю ... пытаюсь сделать чат (react + express)
и хочу чтобы регистрация и авторизация шла как обычно по http с jwt токеном, а когда юзер залогинился открывается сам чат на сокетах

Sergey
16.07.2018
18:30:46
постгрес подключил, бд я создал, модели и роуты написал. Могу залогинится ... осталось впихнуть туда сокеты, а как не знаю )) (и походу никто не знает)

Айнур
16.07.2018
18:32:50
Ты пишешь так не понятно что никто не знает в чем тебе надо помочь дядь

Kendr
16.07.2018
18:34:06

Sergey
16.07.2018
18:35:49
я не знаю как это работает и могу глупость писать,
но если я правильно понял, там во всех этих псевдо-примерах сокет соединение создается сразу при старте сервера, Я хочу, что соединение шло после того когда юзер залогинился,

Kendr
16.07.2018
18:36:07
Опа-па, вот так поворот

Andrew
16.07.2018
18:38:30

from
16.07.2018
18:38:48

Google

from
16.07.2018
18:39:08
я rff не пользовался, но подход одобряю, и он ничего общего с редакс-форм не имеет

Andrew
16.07.2018
18:39:47
Ну падажи, с подходом я более чем согласен
На обсерверах все намного приятней работает и тд

Sergey
16.07.2018
18:40:22

Rustam
16.07.2018
18:40:29
я пользовался и rff и formik, для себя выбрал на текущий момент именно rff

Andrew
16.07.2018
18:40:57
Писал свои мутаторы ?

Rustam
16.07.2018
18:41:22
так-как есть подписки, мутаторы, декораторы и нет перерендера всей формы при изменении любого поля
да, но потом нашел другой способ

Admin
ERROR: S client not available

Andrew
16.07.2018
18:41:37
А вот я писал и в доке об этом вообще не единого слова
А если значения поля зависит не от поля в форме вообще
А от другого источника

Rustam
16.07.2018
18:43:16

Andrew
16.07.2018
18:43:59
Мне надо заполнить несколько полей
Я заранее не знаю какие поля будут заполнены

Rustam
16.07.2018
18:44:45
https://github.com/final-form/final-form#batch-fn---void--void

Andrew
16.07.2018
18:47:29
Иии ?
это надо инстанс формы закинуть в компонент
я не говорю что они говно, просто много возможностей и они все не очень хорошо описанны

Google

Andrew
16.07.2018
18:50:50
вот допустим https://github.com/final-form/react-final-form-arrays/issues/35
до сих пор висит

Sergey
16.07.2018
18:51:33

Kendr
16.07.2018
18:51:47

Sergey
16.07.2018
18:54:14

Andrew
16.07.2018
18:59:48
https://t.me/nodejs_ru
https://socket.io/get-started/chat/

Arthur
16.07.2018
19:05:12

Sergey
16.07.2018
19:07:12
https://socket.io/get-started/chat/
ок они подключили
var io = require('socket.io')(http);
io.on('connection', function(socket){ .... });
я смогу потом сделать это? в обработчике маршрута express ?

Влад
16.07.2018
19:07:37
Какие либы сейчас на фронте must have кроме lodash/moment.js?

Andrew
16.07.2018
19:07:48
ну в роуте наверное надо писать

Влад
16.07.2018
19:07:57
Не фреймворки, а вот подобные библиотечки

Andrew
16.07.2018
19:08:06

Влад
16.07.2018
19:08:42

Andrew
16.07.2018
19:08:51
moment - luxon, date-fns или вообще системная дата
lodash я ток тротл и дебаунс от туда брал

Roman
16.07.2018
19:09:13

Влад
16.07.2018
19:10:02

Andrew
16.07.2018
19:10:05
для всего остального хватает js ну или есть прям так хочешь то бери ramda, учи монады, смотри аниме
flutten есть системный

Влад
16.07.2018
19:10:30
[...arr]?