
Ilya
27.07.2016
06:14:12
Или речь именно о том, что люди не могут осилить настрлйку вебпака/браузкрифай/вотевер чтоб JSX работал?

Tony
27.07.2016
06:14:31
jsx треш. hyperscript - one love

Ilya
27.07.2016
06:15:08
Opinions, opinions.
Вопрос вообще не про то, хорош ли jsx был, mind you.

Google

Дмитрий
27.07.2016
06:17:50

Tony
27.07.2016
06:19:18
шта? это концепция, такая же как и jsx. пакет для реакта вполне себе живой https://github.com/jador/react-hyperscript-helpers

Vitaly
27.07.2016
06:51:00
Доброе утро чатик, хотел узнать не встречали ли вы какие абстракции над redux, позволяющие генерировать crud экшены и автоматически фетчить данные + селектор?
Или что-то похожее, мне нужно придумать как сделать так что бы даже джун рельсовик смог пилить формочки и таблички -_-

Ilya
27.07.2016
07:01:21
Ууууу
Пытались мы такое делать.

localvoid
27.07.2016
07:01:48

Ilya
27.07.2016
07:01:57
А что мешает джуну освоить redux?
Воткните ему thunk, там особо ебаться не надо. И пускай сам crud делает.

Evgeny
27.07.2016
07:02:20
Мы остановились на наборе хелперов

Ilya
27.07.2016
07:02:53
Ну это не решает проблему, которую выше описали.

Evgeny
27.07.2016
07:03:19
Я к тому, что мб генерация экшенов не очень подойдет, а хелперы могут

Ilya
27.07.2016
07:03:42
Ну вообще да, в принципе.
Надо выпускать в опенсорс.

Google

Evgeny
27.07.2016
07:04:39
В actions у нас просто функции, которые “генерируют” экшены
Я не помню, почему тут ребята используют return data, какая-то причина была
Но если бы не использовали, то было бы ещё проще

Vitaly
27.07.2016
07:06:02
Это боль... прихожу я из отпуска, а они перепиливают все на рендер в рельсе и бутстрап. На мой вопрос "на кой хер вы это придумали" отвечают что не могут запилить пару полей, так как нихера не работает... в общем вместо того что бы собрать вещи и свалить в закат я решил немного пооптимизировать.

Evgeny
27.07.2016
07:07:34
Мы тоже проходили такую проблему, решили не делать middleware или какой-то фетчер, а сделали набор хелперов. Это гибче — если в каком-то локальном кейсе нужно что-то помимо дефолтного поведения, то экшен легко расширяется.
Например, в апдейте нам нужно заливать фоточку через пост

Vitaly
27.07.2016
07:08:34
вчера написал небольшую абстракцию
const Module = db.connect('affiliates').use(db.crud);и декоратор
Module.connect()

Evgeny
27.07.2016
07:08:52
Экшен легко расширили, но при этом updateElementSucceeded используем и поведение то же самое
В редьюсерах тоже сделали хелперы
Там вообще огонь

Vitaly
27.07.2016
07:11:24
пфф, жесть у вас)
export const list = apiAction('categories.api.list', {
schema: schemas.categoriesCollection,
request: (query = {}) => api.get('categories', { query })
});
вот так было у нас, и это для них сложно...

Evgeny
27.07.2016
07:12:28
И сразу переписывать всё, когда нужно что-то добавить
Проходили 3 раза, знаем
Поправил редьюсер, чтобы в одном стиле было
Много бойлерплейта, который так и хочется спрятать за абстракцию
Но нет, спасибо)
@Misaka где у нас используется первый фетчер?

Google

Vitaly
27.07.2016
07:19:26
Я думаю что у вас примерно теже яйца что и у нас только с боку)) у нас в кишках редюс выглядит так
const result = createReducer(handlers, {
...reducers.initialState,
...additionalState
});
// attach reducers for known actions (crud)
if (fetch) result.on(fetch, reducers.load);
if (list) result.on(list, reducers.list);
if (update) result.on(update, reducers.load);
if (create) result.on(create, reducers.load);
if (destroy) result.on(destroy, reducers.destroy());

Evgeny
27.07.2016
07:19:58
Ну да, говорю же, один в один проблема
Мы решили через хелперы, потому что абстракция это не гибко
Наш опыт это подтверждает (у нас 3 фронта, один из которых джуниор, плюс я как продакт раз в полгода могу внести на выходных asap)
Твой опыт, в общем-то, тоже это подтверждает)

Ilya
27.07.2016
07:23:58

Vitaly
27.07.2016
07:26:39
... у нас было 2 фронта, 1 джун-верстак, 2 рельсовика, куча бойлеплейта, целое множество генераторов всех сортов и расцветок, не то что бы это было необходимо, но если решил не юзать фреймворк то сложно остановиться.

Alex
27.07.2016
07:37:04
Мы построили свой фреймворк чтобы не юзать фреймворк? ?

Evgeny
27.07.2016
07:37:50
У нас? У нас не фреймворк

Vitaly
27.07.2016
07:38:13
https://www.youtube.com/watch?v=Wm2h0cbvsw8

Evgeny
27.07.2016
07:38:28
А, нет

Evgeny
27.07.2016
07:38:52
У нас такое было
Удобная абстракция
Для того, кто её написал, но не для всех остальных)
После того, как я со своим 5-летним опытом во фронте не смог добавить одно поле за час чистого времени, я заставил переписать
Получилось ещё лучше

Vasiliy
27.07.2016
07:42:32
отсутствие абстракции лучше, чем плохая абстракция, где-то доклад даже был на эту тему https://www.youtube.com/watch?v=4anAwXYqLG8 (с середины где-то)

Evgeny
27.07.2016
07:42:39
this

Alexey
27.07.2016
08:26:29
Всем привет, подскажите такая ошибка: getInitialState was defined on Auth, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?

Google

Alexey
27.07.2016
08:27:00
Как решить проблему на Es6 нашел, но как это написать на coffee пока не пойму

Vladimir
27.07.2016
08:27:48
конструктор пиши
и в нем @state={...}

Admin
ERROR: S client not available

Alex
27.07.2016
08:28:25
кофе с jsx? ого

Tony
27.07.2016
08:29:48

Vladimir
27.07.2016
08:30:54
в кофе есть конструкторы

Andrey
27.07.2016
08:31:45
кофе еще жив?

Alexey
27.07.2016
08:33:21
Получилось, спасибо)

Tony
27.07.2016
08:33:53
я вот решил что он умер, и начал новый проект на es6, но не хватает всякого сахарка вроде объявления массива и объекта без запятых
а super не просит вызвать?

Alexey
27.07.2016
08:34:18
нет
а почему он умер, вроде как много кто пишет на нем

Tony
27.07.2016
08:35:23
косвенно решил потому что был только один пример работы с реактом через кофе, все остальные на es6
в доках и блог-постах

Ilya
27.07.2016
08:36:00
Ну да. Когда язык не работает с какой-то технологией, он же умер.

Alexey
27.07.2016
08:36:13
тут согласен, примеров с кофе очень мало

マイク
27.07.2016
08:37:07
надо же откуда-то копипастить ведь

Tony
27.07.2016
08:38:27

Ilya
27.07.2016
08:40:26
Вкусовщина. Я например не могу выносить вот такие извращения.

Google

Roman
27.07.2016
08:53:46
никогда не доверял людям, которые не выносят jsx

Vitaly
27.07.2016
08:55:50
Кофе мертв уже как три года, просто остались те кто с этим не смирился и рельсовики. Вот например issue про es6 import висит с 2013 года)
https://github.com/jashkenas/coffeescript/issues/3162

Oleh
27.07.2016
08:56:26
ребят, подскажите, самый оптимальный способ рендера, если ты фуллстек дев - initial render на серве, все остальное - просто json присылается и ты с ним уже работаешь, производишь рендер на клиент сайде?

Tony
27.07.2016
08:58:18

Tim
27.07.2016
08:59:24
Добрый всем денек. Подскажите плиз, есть какая-то возможность, на продакшене, выпилить все console.log через webpack?

Vasiliy
27.07.2016
09:00:15
uglify: drop_console

Антон
27.07.2016
09:00:17
UglifyPlugin

Roman
27.07.2016
09:04:14
почему, если не секрет?
сугубо имхо и зная про все эти альтернативы, включая и ангуляр и коффе и тысячи шаблонизаторов
jsx пмсм оптимален

Tim
27.07.2016
09:04:52
uglify: drop_console
так?
new webpack.optimize.UglifyJsPlugin({
compress: {warnings: false},
uglify: 'drop_console',
})

マイク
27.07.2016
09:05:01

Vasiliy
27.07.2016
09:05:05
просто drop_console: true

Alexey
27.07.2016
09:06:39
В рендере validateError читается, но при попытке изменить его в SigIn никакой реакции

localvoid
27.07.2016
09:07:07