@react_js

Страница 2479 из 5115
Again
02.11.2017
20:22:55
А в телеграме?

Cenator
02.11.2017
20:23:30
А в телеграме?
В телеграме англечане не сидят

Duego
02.11.2017
20:24:45
ребят

Дмитрий
02.11.2017
20:24:52
давно такого не видел
Ты непосредственно сейчас находишься в таком приложении

Google
Duego
02.11.2017
20:25:56
делаю авторизацию через соц сеть, как открыть новое окно?

Nikita
02.11.2017
20:26:11
Ты непосредственно сейчас находишься в таком приложении
Так это не слухи ,что ты в телеге работаешь ? С:

Или я плохо шутки понимаю

Stepan
02.11.2017
20:28:14
@ZeroBias, ты когда-то рассказывал, как тебе помогает функциональщина, но я не могу найти. Что у тебя за задачи такие?

Polina
02.11.2017
20:30:05
Подскажите в redux-form есть возможность инициализировать две формы с одним сабмитом?

Andrew
02.11.2017
20:31:07
Дмитрий
02.11.2017
20:32:56
Так это не слухи ,что ты в телеге работаешь ? С:
Допустим, я хорошо разбираюсь в этой технологии ?

Slava
02.11.2017
20:33:03
Дмитрий
02.11.2017
20:33:26
Ок)

Duego
02.11.2017
20:33:37
делаю авторизацию через соц сеть, как открыть новое окно?

Polina
02.11.2017
20:35:09
дело в том, что у меня есть на одной странице форма и таблица (разные компоненты) На таблице можно данные вручную менять. На сабмите надо одновременно и таблицу сапдейтить и создать новую запись в бд исходя из данных в форме. Пока не пойму как подобраться к задачке

Andrew
02.11.2017
20:39:33
Просто два сабмита

Которые передают данные в один и тот же метод

Google
Andrew
02.11.2017
20:40:24
Который принимает два параметра - данные с формы, и с таблицы

Dmitry
02.11.2017
21:00:12
https://github.com/ecomfe/redux-managed-thunk

блин вроде бы идея хорошая

но что-то звездочек мало

kana
02.11.2017
21:24:48
я чет не понял, стейт между вызовами thunk-а?

Dmitry
02.11.2017
21:27:03
kana
02.11.2017
21:27:17
Да

Dmitry
02.11.2017
21:27:31
ну типа базовый санк в котором вызываются какие-то хуки

и потом через композицию добавляется какой-то функционал

или отмена екшона или аптимистик апдейты

ну по сути подход это, const thunk = f; const enhancer = (thunk) => args=> dispatch => thunk(args)(dispatch)

и просто набор енхенсеров такого вида

Я хотел что-то такое по фукнционалу в своей либке, но с более удобным апи

ну и конфигурирование в через такую жесткую композицию мне не нравится

уж очень много фукнций будет вызываться ради одного екшона



kana
02.11.2017
21:32:38
хм, прикольная идея, да

Dmitry
02.11.2017
21:32:39
но вот такие идеи весьма прик

но оно как-то не очень структурировано и не очень удобно

что-ли

Google
kana
02.11.2017
21:34:24
вот какой вопрос, есть ли где реализация котовых конструкторов редьюсеров?)

Dmitry
02.11.2017
21:34:42
констуктор редюсеров ?

мультиредюсер ?

kana
02.11.2017
21:35:04
редьюсеры зачастую бывают шаблонными, например для списков, асинхронные, асинхронные списки

разные только экшоны

Dmitry
02.11.2017
21:35:48
А что тебе надо от асинхронного редюсера ?)

ну точнее асинхронных списков

kana
02.11.2017
21:36:28
ну я имел в виду списки элементов, которые мы загружаем)

собственно конструктор редьюсеров, это функция, принимающая конфиг (экшоны для вызова?, поля?) и отдающая редьюсер. Или функция, которая ничего не принимает, а отдает и редьюсер, и экшоны. Главное, что она абстрагирует какой-то шаблон редьюсеров. И важно, чтобы они были компосабл и расширяемые

kana
02.11.2017
21:38:39
да если бы я сам писал, вышло бы сложно, поэтому и спрашиваю, мб есть какие-то простые реальные решения, которые я проспал

Dmitry
02.11.2017
21:39:21
kana
02.11.2017
21:41:18
да всякие uniq([...state, ...action.payload.items.map(item => item.id)]) повторяются из раза в раз. Частично решается выносом самого этого кода в функцию, но остается же .on(somethingResonse, ...)

Dmitry
02.11.2017
21:41:55
хм

юзай normalize

Alex
02.11.2017
21:42:35
Нормализ решит проблему с общими данными, но с локальными нет

Dmitry
02.11.2017
21:43:12
ну я заметил что нормалайз неплохо помогает с таким шаблонным кодом, где он казалось бы не надо даже

https://github.com/zhDmitry/rrethunk/tree/master/examples

вот примерчик если интересно

Google
Dmitry
02.11.2017
21:43:49
туду с optimistic апдейтами https://zhdmitry.github.io/rrethunk

kana
02.11.2017
21:44:31
бля, начал по привычки ридми читать

Dmitry
02.11.2017
21:44:42
ридми выше

но это ридми к либке

там может быть есть немного говнокод, но он там специально)

Хотел написать пример и понять в чем проблема при написании асинхронных действий и редюсеров с оптимистик апдейтами

и в каком духе строить апи для библиотечки что бы было удобно

Alex
02.11.2017
21:47:01
да всякие uniq([...state, ...action.payload.items.map(item => item.id)]) повторяются из раза в раз. Частично решается выносом самого этого кода в функцию, но остается же .on(somethingResonse, ...)
Я делал функцию селектор, где сначала линкуется проп для изменения, а потом описываются действия (изменение стейта), но проблема в том, что такой подход не работает с иммутабельностью т.е. mod(state=>state.section, section => {... section}) Возможно можно так сделать с immutable js, но я не пробовал

kana
02.11.2017
21:48:10
так, я не понял, как тут селектор поможет?

типа селекторы в редьюсере для пропсов?

Dmitry
02.11.2017
21:48:43
так, я не понял, как тут селектор поможет?
мне кажется лучше всего сделать функции утилиты которые в on пихаешь

и которые можно конфигурить

Alex
02.11.2017
21:48:55
По идеи можно сделать шаблоны изменения стейта и только мапить поддрево тогда получится что-то типа add_to_state(state => state.section)

Dmitry
02.11.2017
21:49:11
on(actions.fetch, mergeIds(‘id’))

Alex
02.11.2017
21:49:12
А про слово select выбор

kana
02.11.2017
21:49:25
так и я не про либу

Alex
02.11.2017
21:49:42
Ну вот выше привёл пример

Что нудно будет указывать только локацию изменения

kana
02.11.2017
21:50:11
так зачем, у меня редьюсеры и так атомарны

Google
kana
02.11.2017
21:50:16
нет вложенных объектов

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

Alex
02.11.2017
21:55:30
Я для себя сделал конструкторы типа SectionA(SectionB({a:0})) Что создаёт {SectionA:{SectionB :{a:0}}} А редьюсер мидлвар делает иммутабельное обновление Работает как immutable dot какая-то либа не помню

Слишком сложно чтобы с мобилы рассказать, что я имел в виду, пойду лучше спать

Dmitry
02.11.2017
22:00:17


какое апи будет лучше

типа два примерчика

withCancel это конфигурация через higher order function, а второе через контекст

а второй пример

kana
02.11.2017
22:01:26
мне кажется, тут проще тупо взять саги

Andrew
02.11.2017
22:02:26
Ребзи, я так и не понял штуку с реселектом. Как Мне по событию применить другой селектор к стейту ?

Dmitry
02.11.2017
22:02:34
А как в сагах транзакции и оптимистик апдейты ?

kana
02.11.2017
22:03:32
не знаю ничего про оптимистики, но takeLatest же там из коробки

Dmitry
02.11.2017
22:04:22
не знаю ничего про оптимистики, но takeLatest же там из коробки
ну у меня тейк лейтест решается тем что санк возвращает промис с методом кенсел

и я вызываю его в компоненте

но мне такое решение не нравится

Страница 2479 из 5115