
Andrey
10.08.2016
07:26:02
да, мы используем

Paul
10.08.2016
07:29:38
Fluxible - это хорошо

Konstantin
10.08.2016
07:33:09
На fluxible вроде тинькофф сидит и авад

Konstantin
10.08.2016
07:43:02
Дайте линку на Nodejs чатик, пожалуйста

Google

Антон
10.08.2016
07:43:07
Парни, я тоже сижу на нем же, сейчас пришел в большую компанию, которая тоже сидит на нем и столкнулся с тем что сторы и экшены они решили изолировать и держать рядом с компонентами, т е они не глобальны. Кто-нибудь еще так делает?

Evgeny
10.08.2016
07:44:21
А чем это от сетстейт отличается?

Антон
10.08.2016
07:45:08
тем что в стор диспатчит, но вопрос хороший да.

Victor
10.08.2016
07:48:54
https://telegram.me/nodejs_ru

Andrey
10.08.2016
07:53:04

Oleh
10.08.2016
07:54:14
ребят, вопрос больше не по реакту а общий.
Как вы разруливаете ситуацию, когда допустим нужно сделать одно и тоже действие но либо после синхронной операции, либо после асинхронной(-ых)?
if (someCondition) {
asyncFn().then(()=>{resultFn()});
} else {
syncFn();
resultFn();
}
Асинхронных может быть и не 1, а больше

Alex
10.08.2016
07:56:13
await?
если не подходит то обернуть синхронный в промайс и работать с ними одинаково

Ярослав
10.08.2016
07:57:24

Alex
10.08.2016
07:57:39

Ярослав
10.08.2016
07:57:40

Alex
10.08.2016
07:57:51
обернуть второй в промайс и оба будут "асинхронные"

Ярослав
10.08.2016
07:58:37
Я думаю вопрос не в том, чтобы сделать второй асинхронным

Google

Brs
10.08.2016
07:58:55
промис же, не промайс
простите не удержался

Zapix
10.08.2016
07:59:33
а почему await не подходит?

Ярослав
10.08.2016
07:59:51
Потому что это сахар для промиса

Zapix
10.08.2016
08:00:59
и что? удобней же будет?
if (someCondition) {
await asyncFn();
} else {
syncFn();
}
resultFn();

Alex
10.08.2016
08:02:47

Pavel
10.08.2016
08:08:47

Ярослав
10.08.2016
08:10:59

Антон
10.08.2016
08:11:27
А чем это от сетстейт отличается?
Дегидрейт и регидрейт еще чтобы работал. Вообще кто сидит на fluxible - ответьте плиз одним словом. Считаете ли вы бредом попытки изолировать стор, если данные из него только в одном компоненте например используются?

Ярослав
10.08.2016
08:12:55

Антон
10.08.2016
08:19:51
и еще вопрос ко всем по реакту - делает ли кто нибудь так, что компоненты полностью изолированы так, что не только верстка с props и стили полностью независимы а еще и каждый такой независимый компонент вызывает action который что-то диспатчит в стор самостоятельно а не вызывает какой-то колбек из пропсов.
PS сам я считаю адекватным вызовы экшенов кранить в каком-то более объемлющем компоненте, который компонентам типа всяких кнопочек передает в пропсах типа onClick={::this.sendMessageAction}

Алексей
10.08.2016
08:23:54
То есть есть какой-то общий компонент Button, который только и делает, что вызывает коллбек onClick из пропсов при клике
А вот уже, например, SharedButton - это контейнер, который рендерит кнопку и передает ей пропс onClick

Антон
10.08.2016
08:32:10

Алексей
10.08.2016
08:33:01

Konstantin
10.08.2016
08:33:46

Алексей
10.08.2016
08:34:41

Dmitry
10.08.2016
08:34:46
>onClick={::this.sendMessageAction}
oh no

Konstantin
10.08.2016
08:35:17

Google

Алексей
10.08.2016
08:35:52
У меня вообще на три уровня разделения идет: ui/component/container

Zapix
10.08.2016
08:36:23
ну можно использовать hoc и оборачивать уже определенный компонет.

Алексей
10.08.2016
08:36:47

Konstantin
10.08.2016
08:36:54
Логика должна реализовываться на уровне проекта где ui используется

Zapix
10.08.2016
08:37:07
я как понимаю контейнер это когда что-то связывается со стейтом

Алексей
10.08.2016
08:37:17

Zapix
10.08.2016
08:37:35
если связи со стейтом нет, то hoc не обязательно создает контейнер

Алексей
10.08.2016
08:37:35
Разделение то просто, компонент берет данные из пропсов, контейнер из стора

Антон
10.08.2016
08:43:11

Andrey
10.08.2016
08:43:54

Zapix
10.08.2016
08:44:24
тогда перефразирую, контейнер чаще всего и есть hoc
ну чаще не чаще это кто-как использует.
к примеру есть компонент Pretty, который делает кроссивым надпись<Pretty label=«hello» />
мы можем создать hoc fullName:
const fullName = BaseComponent => ({ user }) => <BaseComponent label={${user.firstName} ${user.lastName}} />
тогда fullName(Pretty) - компонента
а если уже использовать connect то получим контейнер.
compose(
connect(state=> ({user: state.user}))
fullName
)(Pretty)

Konstantin
10.08.2016
08:44:45

Oleh
10.08.2016
08:53:31

Zapix
10.08.2016
09:00:13
ну ты можешь всю логику обернуть в promise или сделать async функцию, а потом вызвать твою resultFn
для async/await:
async function action() {
try {
await yourFn(); // здесь вся твоя сложная логика
} catch(e) {
handleError(e);
}
resultFn();
}

Oleh
10.08.2016
09:03:49
ок, а без async/await
получается все равно по сути обертку, так?

Zapix
10.08.2016
09:04:33
Ну да.

Oleh
10.08.2016
09:04:42
просто в асинхронном случае промис вернет сразу допустим resolve
ой, в синхронном имел ввиду

Google

Dmitriy
10.08.2016
09:36:29
как сделать, чтобы уведомления были совсем отключены? у меня появляется кол-во непрочитанных сообщений в таскбаре (мак ос)

Ярослав
10.08.2016
09:37:08

Roman
10.08.2016
09:42:30

Dmitriy
10.08.2016
09:42:58
спасибо!

Lupsick
10.08.2016
09:51:37
https://github.com/carteb/carte-blanche
че думаете?

Admin
ERROR: S client not available

Vladimir
10.08.2016
09:52:46
думаю, что достаточно хорошая штука

Valentin
10.08.2016
10:03:51
я не смог завести. Но это может быть со мной что-то не так

Lupsick
10.08.2016
10:05:53
как я понимаю для чисто фронтэндеров без данных норм вариант

Максим
10.08.2016
10:20:14
А тут есть Relay товарисчи?
только начал вчехлять с Relay и не могу понять как нужно производить мутацию, которая должна создавать новую ноду, а не модифицировать существующую

Roman
10.08.2016
10:40:13
Ребята, привет) назрел вопрос по nda. Представьте, что вы работаете над проектом под nda. У вас есть какая-то задачка...ну например компонент слайдера реализовать. Вы его реализовываете и понимаете, что не плохо получилось, это может быть ценно сообществу. Выносите свой компонент в npm пакет, публикуете. На проект уже его подключаете как внешнюю зависимость. Так вот это является нарушением nda? Как вообще такую ситуацию можно развести, на усмотрение работодателя?

Alexander
10.08.2016
10:41:04
Читай nda, там всё написано =)
Либо перед подписыванием надо уточнить такие кейсы и внести их в nda
По-хорошему

Roman
10.08.2016
10:42:27
ну в nda само собой будет написанно что нельзя передавать код 3-м лицам

Alexander
10.08.2016
10:42:56
Значит нельзя =)

Алексей
10.08.2016
10:43:26

Alexander
10.08.2016
10:43:26
Просто иногда в nda учитывается, что есть код попадающий под коммерческую тайну и есть код, не являющийся коммерческой тайной

Google

Alexander
10.08.2016
10:44:03
>но если поговорить с работодателем - обычно такие вещи они воспринимают нормально и дают свое разрешение
+1

Roman
10.08.2016
10:44:04

Denis
10.08.2016
10:45:27

Roman
10.08.2016
10:48:41
@drakmail @DenisIzmaylov @Ai_boy спасибо, в общем ход мысли ясен

Nikita
10.08.2016
11:02:13
народ, а кто в GQL/falcor балуется. Сложилось ощущение, что falcor подзаброшен, это так?

Ches
10.08.2016
12:22:49
а где ссылки на все чатики?

Алексей
10.08.2016
12:29:21
почемуто убрали
Параллельно с этой группой развиваются:
?@react_js - где мы общаемся на технические вопросы, где мы общаемся на темы, посвященные React, Redux и Relay. Обсуждаем идеи и новости. Обмениваемся своими проектами и решениями.
?@angular_js - где мы общаемся на технические вопросы, посвященным разработке с Angular 1.x, включая идеи, предложения, библиотеки.
?@angular2 - где мы общаемся на темы, посвящённые Angular 2 и его экосистемы, включая TypeScript и NativeScript.
? Возможно, вам также будут интересны группы: @reactnative_ru, @ios_ru, @android_ru, @mobile_jobs, @devops_ru, @devops_jobs.

Ches
10.08.2016
12:30:03
а просто js чата нету?

Nikita
10.08.2016
13:49:26
это он и есть

Alex
10.08.2016
13:50:56
не, здесь есть jsx

Vladimir
10.08.2016
13:59:06

Bogdan
10.08.2016
14:01:52
Народ, а это нормальная практика генерировать айдишники на клиенте?

Mikhail
10.08.2016
14:03:58

Алексей
10.08.2016
14:04:32
Народ, а это нормальная практика генерировать айдишники на клиенте?
совсем не нормальная практика - но в зависимости от ситуации так делать можно. Если это SPA ( и никто кроме самомго юзера доступ не имеет к данным )
И если данные разделены - perUser и только user может создавать и редактировать - тогда можно генерировать ID вида ID: userA-[id]

Denis
10.08.2016
14:09:31
Как вам такая головоломка? ) http://alf.nu/ReturnTrue

Bogdan
10.08.2016
14:09:56

Алексей
10.08.2016
14:13:39