@react_js

Страница 332 из 5115
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
jsx треш. hyperscript - one love
hyperscript - это тот, который три года не обновлялся?

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
лол, jsx это не дополнительный язык? который надо еще научиться транспилировать
реакт и без jsx может работать, это всего лишь синтаксический сахар над функцией createElement. С любой либой, использующей виртуал дом я смогу работать после 5 минут ознакомления, что не скажешь про либы, в которых нужно сначала изучить шаблонизатор

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
конструктор пиши
constructor из es6 классов

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
надо же откуда-то копипастить ведь
а то! хотя вот без jsx еще меньше примеров, но он слишком невыносим

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', })

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
сугубо имхо и зная про все эти альтернативы, включая и ангуляр и коффе и тысячи шаблонизаторов jsx пмсм оптимален
главное избавиться от изменений данных во времени, а все эти jsx, hyperscript и прочее не так уж и важны, строй деревяжку как душе угодно, обычно в компонентах небольшой уровень вложенности и нет никакой проблемы читать любой изврат

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