@react_js

Страница 1252 из 5115
Denis
06.05.2017
18:57:46
ссылки включающие коммиты
А если по теме вопроса?)

Сергей
06.05.2017
18:58:33
не вижу ничего плохого передавать экшены сверху

зачастую это единственное решение, чтобы избежать копипасту или многословность

Google
Евгений
06.05.2017
19:12:01
Давно так используете?
не сразу, но пришли к этому полгода назад как раз из-за удобства переиспользования и общей внятности большой code base

+ в этом real-world example не хватает redux-actions

Denis
06.05.2017
19:20:01
redux-act смотрели?

А как разделяете action ID?

Herman
06.05.2017
19:20:41
Ребят посоветуйте какой бойлерплейт на yeoman, чтобы был TypeScript, Sass-lib, и может какой BrowserSync

Evgeny
06.05.2017
19:20:51
Никакой

Denis
06.05.2017
19:20:53
UPDATE_USER_NAME? Или вида namespace user.updateName? Или что то ещё?

Evgeny
06.05.2017
19:20:54
Бойлерплейты не нужны

Herman
06.05.2017
19:21:20
Бойлерплейты не нужны
Ну если я спрашиваю – то значит мне понадобился, правильно?

Евгений
06.05.2017
19:21:23
https://www.npmjs.com/package/redux-actions предпочел вместо react-act

Google
Evgeny
06.05.2017
19:21:23
Нет

Ты просто ещё не понял что они не нужны

Max
06.05.2017
19:21:34
++ bulma, purecss
Я бутстрап беру. У него бибилиотека виджетов самая полная. Но у меня говностартапы - дизайна нет

Herman
06.05.2017
19:21:59
Ты просто ещё не понял что они не нужны
У меня нету сейчас времени сетапить самому

Evgeny
06.05.2017
19:22:19
npm i —save-dev libsass …etc?

Denis
06.05.2017
19:23:03
https://www.npmjs.com/package/redux-actions предпочел вместо react-act
Просто так случилось или чем обосновано с точки зрения архитектуры API/пакета?

Herman
06.05.2017
19:23:22
Всё, проехали. Выбесил

Denis
06.05.2017
19:24:45
не сразу, но пришли к этому полгода назад как раз из-за удобства переиспользования и общей внятности большой code base
А какое соглашение используете для actions? Одноуровневые const-like вида UPDATE_USER_NAME? Или вложенные неймспейсы вида user.updateName, user.profile.updateName? Или что то ещё?

Евгений
06.05.2017
19:27:21
Просто так случилось или чем обосновано с точки зрения архитектуры API/пакета?
цель была простая - избавиться от констант и следовать конвенции flux standart actions

одноуровневые UPDATE_USER_NAME, но с redux-actions выбор этой конвенции не играет особой роли

Просто так случилось или чем обосновано с точки зрения архитектуры API/пакета?
Задачи наши эти две библиотеки решают одинаково хорошо, но в у первой намного больше комьюнити

Denis
06.05.2017
19:30:28
Да, это понятно, но не было ли у вас проблем в итоге с тем, что action_id разростался совсем?

С точки зрения масштабирования вроде namespace-like выглядит более гибко. Оно прекрасно ложится на GraphQL и RESTful API: createAction('session.user.profile.updateFirstName', value => validate(value, rules)) Что может вызвать POST /api/v1/session/user/profile или соответствующую мутацию для GraphQL.

Плюс сюда же можно версию API добавить легко (это может показать космосом, но представим себе большое Enterprise-решение).

Евгений
06.05.2017
19:31:58
согласен, но у нас rpc и это неактуально

Evgeny
06.05.2017
19:32:03
@denisizmaylov до какого числа на митап подавать доклад?

Ruslan
06.05.2017
19:32:27
а если абстрагироваться от генерирования посредством redux-action/redux-act, а рассматривать классический подход, то как вы храните/импортируете константы? - экспортируете каждую константу отдельно - экспортируете один объект с константами?

Denis
06.05.2017
19:32:41
31 мая митап / 21 мая прогон / 16 мая дедлайн по докладам

Evgeny
06.05.2017
19:32:48
Ок

Google
Denis
06.05.2017
19:36:48
Плюс tree shaking

Ruslan
06.05.2017
19:37:32
мне объект нравится тем, что не надо указывать необходимые константы в импорте, хотя можно конечно импортировать как import * as constants

Alex
06.05.2017
19:37:44
Посмотри в сторону Ant.design
Посмотрел. Всё очень хорошо, но не срослось.

Евгений
06.05.2017
19:37:50
А где вы планируете митап провести ?

Alex
06.05.2017
19:38:14
если dateTimeRangePicker нужен, то лучше ant, а так те же яйца
У меня дата через селект. Удобно, понятно, юзеры довольны.

Denis
06.05.2017
19:39:10
А где вы планируете митап провести ?
Рассматриваем пару площадок, в том числе Digital October

Но плюс всегда рады приглашениям на новые интересные большие площадки, способные принять 100-150 чел

Дмитрий
06.05.2017
19:40:58
чет в яндексе не хватило места)

Denis
06.05.2017
19:41:52
Так-то да) Не успели вовремя закрыть регу

Дмитрий
06.05.2017
19:42:09
а я не успел во вермя приехать и стоял в дверях :D

Denis
06.05.2017
19:42:14
И в зале на 90 человек пришлось укомпоноваться уютно 130-150 :)

Но можно было занять себе место "после антракта"))

Дмитрий
06.05.2017
19:42:55
так и сделал))

к счастью все любят поесть

;D

Denis
06.05.2017
19:43:19
На митапах это святое

Дмитрий
06.05.2017
19:45:30
?

Google
Сергей
06.05.2017
20:56:18
я тут экспериментирую с TouchBar + Electron

http://www.giphy.com/gifs/l0IyoP9cKGbye0mCk

https://gist.github.com/LestaD/69963787daf1dcad055cb9ac11292046

в React-стиле

Denis
06.05.2017
21:53:53
согласен, но у нас rpc и это неактуально
Резюмируя, относительно обсуждения, текущие рекомендации для крупных 3R-проектов: 1. Использовать redux-actions / redux-act, отказавшись от констант для action ID 2. Именовать action ID в формате namespace-нотации вида session.user.profile.updateFirstName 3. Вынести весь state из компонентов приложения в Redux Store, оставив state только для универсальных UI-компонентов / TODO: есть ли проблемы с производительностью в этом случае? 4. Обработчики событий определять через ES Class Properties Что упущено? /сс @evgenyrodionov @imrajdee @ZeroBias @syabro @fjfalcon @ppavle @klimashkin @gaearon

Evgeny
06.05.2017
21:54:47
Даня тут?

Denis
06.05.2017
21:55:01
О, кстати, вышел. Но это понятно, ему надо на английском языке сосредоточиться.

Дмитрий
06.05.2017
21:56:00
В твиттере аудитория больше)

Admin
ERROR: S client not available

Evgeny
06.05.2017
21:56:42
1) да 2) на любителя, у меня @@cem/newsletters/load/list/started или что-то типа этого 3) да 4) в чём смысл?

Дмитрий
06.05.2017
21:57:29
4 — чтобы не биндить

Evgeny
06.05.2017
22:00:06
Нейминг конвеншнс и другие стандарты. Сегодня на курсе зарубались с одним человеком, у которого стиль кода отличается от моего. Мой — общепринятый, потому что у меня была команда и единственный разумный стайлгайд это тот, которого придерживается большинство в коммьюнити. Стиль кода сродни художественному — все похуй на ваш авторский взгляд, главное — читаемость. В джс это стандарт от Эйрбнб, в CSS/HTML — от mdo, автора Бутстрапа. Но, конечно, вручную это проверять — ад (Кофемания зовёт, зачем тратить время и ебать друг другу голову за буквы?), поэтому в нормальных проектах есть eslint и stylelint, а в самых охуенных — prettier, я о нём уже говорил.

Max
06.05.2017
22:01:33
3. Нет

Стараюсь не использовать redux если без этого можно обойтись

Max
06.05.2017
22:05:40
Denis
06.05.2017
22:14:42
Rodionov Rodionov Rodionov

Или React Redux Router

React Relay Router

Google
Denis
06.05.2017
22:16:01
React Redux Relay Router

Это уже другая была бы история

Evgeny
06.05.2017
22:19:54
Max
06.05.2017
22:33:39
Ы

Denis
06.05.2017
23:23:29
Чтобы без this.handleClick = this.handleClick.bind(this) в конструкторе

Paul
06.05.2017
23:25:14
А в случае ssr это просто пустая трата ресурсов, создавать все обработчики на каждый инстанс. Да и на клиенте получается ты создаешь функции на каждый инстанс, вместо дешего байндинга

Так что байндить надо в конструкторе вручную и вырезать этот блок при сборке для ssr.

Это и есть best-practice

Denis
06.05.2017
23:26:56
Интересно

А ещё что-нибудь можно добавить?

Игорь
06.05.2017
23:41:19
Эй псс, есть кто?)

Дмитрий
06.05.2017
23:42:38
А потом удивляются, почему на собеседованиях простые вещи спрашивают)

Yumi
06.05.2017
23:44:23
С козырей зашёл. ?

Игорь
06.05.2017
23:45:42
Парни а как лучше сделать подгрузку данный? Пока додумался так: проходят все фильтры, и срабатывает функция которая по частям выводит массив. Текущая страница отмечается в стейте. componentDidMount вешаю document.addEventListener('scroll',this._someFunc). А в самой функции, той что выводит частями, при превышении количества страниц снимаю событие с докумена. Это норм, или есть лучше решение?

Denis
06.05.2017
23:48:25
Приехали, а биндинг — это не пересоздание функции?
> Так что байндить надо в конструкторе вручную и вырезать этот блок при сборке для ssr.

Дмитрий
06.05.2017
23:49:21
> Так что байндить надо в конструкторе вручную class SomeClass { state = { value: 0 } handler = () => this.state.value++ } Транспилируется в class SomeClass { constructor() { this.state = { value: 0 }; this.handler = () => this.state.value++; } } Теперь всё то же самое но руками: class SomeClassWithBind { constructor() { this.state = { value: 0 }; this.handler = this.handler.bind(this) } handler() { return this.state.value++; } }

Мы видимо про какой-то разный биндинг, потому что если вырезать биндинг, то handler будет терять контекст this вне зависимости от того, где исполняется код

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