
Viacheslav
13.09.2016
19:09:33
jira великолепна

Dmitry
13.09.2016
19:10:17

Vadim
13.09.2016
19:10:22
О, спасибо большое! Нашел шикарный список чатов:
https://github.com/mr-mig/ru-tech-chats
Хотя данного чата там и нет, а значит список не полный

Google

anoru
13.09.2016
19:32:25
Самое то добавить)

Alexander
13.09.2016
19:36:07
Посоны, а кто как работает с oauth2 токенами (redux)?
как обновляете access_token с помощью refresh_token?
Вот я диспатчу экшены, в которых выполняются запросы к серверу, и если аксесс токен протух, то хочу его обновить, а потом сразу же опять задиспатчить эти экшены, чтобы без всяких перезагрузок страницы.
При этом сразу несколько запросов могут получить 401, а токен надо запросить один раз.
Я сделал фетч враппер над axios, в который каждый раз передаю фунцию диспатч, функцию экшен креейтер и ее аргументы.
Потом в нем проверяю статус ответа для каждого запроса, и если 401 и есть рефреш токен, то посылаю запрос на получение нового аксесс токена, в случае если это первый провальный запрос, остальные ждут события, что токен обновлен и только потом диспатчу заново экшены.
Вот, по-моему, я какую-то херню нагородил, гугл мне не особо помог найти правильный путь

Herman
13.09.2016
19:44:59
@shershnev недавно в бложиках светился патерн под это дело
ща поищу

Dmitry
13.09.2016
19:51:34
я видел решение через middleware. поскольку токены используются только в асинхронных экшенах, то перехватываются асинхронные экшены, токен декодируется и смотрится время экспирации. если токен вот-вот протухнет - он шлется на обновление. если еще живой - идет на бэкенд.
но может есть и получше паттерны, надеюсь

Ҫѐҏӗѫӑ
13.09.2016
20:00:39
лол. там очередной реакт-роутер запилили

Alexander
13.09.2016
20:00:43
вот может же возникнуть ситуация, что несколько асинхронных экшенов провалились, но обновить токен надо один раз
а потом опять создать экшены

Ҫѐҏӗѫӑ
13.09.2016
20:00:53
на этот раз “точно декларативный, мамой клянусь”)

Andrey
13.09.2016
20:11:03

anoru
13.09.2016
20:12:22
https://github.com/mzgoddard/hard-source-webpack-plugin

Dmitry
13.09.2016
20:20:25
провалились экшены - это значит вернулись с 401 ошибкой?
по идее, если ты перед экшеном чекаешь токен на экспирацию, такого не должно быть

Google

Alexander
13.09.2016
20:23:12
да, с 401-й
ну если я даже перед экшенами буду чекать токен, то мне все равно надо только один раз его обновить для всех экшенов, а потом опять их создать

Viacheslav
13.09.2016
20:30:05

Ҫѐҏӗѫӑ
13.09.2016
20:30:19
в релизах репки смотри

Viacheslav
13.09.2016
20:30:40
а, этот
я думал кто-то другой запилил

Ҫѐҏӗѫӑ
13.09.2016
20:31:04
тот же
но несовместимый
как полагается

Viacheslav
13.09.2016
20:33:13
выглядит круто для хуяк-хуяк
еще больше coupling и magic

Ҫѐҏӗѫӑ
13.09.2016
20:43:11
че-то юзеров снова меньше стало

Andrey
13.09.2016
20:44:29

Ҫѐҏӗѫӑ
13.09.2016
20:44:39
нормальные роутеры
без пристаки реакт-
я тысячный

Dreamerinnoise
13.09.2016
20:46:42
Нет :3

Alexander
13.09.2016
20:47:05
да

Ҫѐҏӗѫӑ
13.09.2016
20:47:05
?

Dreamerinnoise
13.09.2016
20:47:09
А лол, лаг интерфейса

Google

Dreamerinnoise
13.09.2016
20:47:48
Вот вам, стейт не обновляется!
В телеграме :3

Dmitry
13.09.2016
20:48:10
@shershnev надо подумать, может еще кто найдет паттерн получше. у меня обычно если экшен вернулся с 401 - значит юзера перебрасывает на авторизацию

sane
13.09.2016
21:12:26

Иван
14.09.2016
02:46:19
Может кто делал, сервер отдаёт в ответе файл (контент файла), как его скачать jsом?

Алексей
14.09.2016
02:55:17

Иван
14.09.2016
02:55:43
не не, у меня в респонсе, в объекте
я уже решил, через blob

Алексей
14.09.2016
02:56:08

Иван
14.09.2016
02:56:14
ога
в блоб и сохранил его

Алексей
14.09.2016
02:58:06
в блоб и сохранил его
Может быть я отстал от времени, но помниться js не умеет создавать прям файлы, которые можно скачать.

Иван
14.09.2016
02:59:03
const file = new Blob([response], { type });
saveAs(file, name);
а saveAs из https://github.com/eligrey/FileSaver.js/

anoru
14.09.2016
05:44:12
И как? Работает?
Не тестил, но верю в силу комьюнити этого чата. Кто-нибудь проверит и расскажет ?

Cocker
14.09.2016
05:49:06
фальстарт
Народ, глупый вопрос: когда есть массив данных и надо его замапить на массив компонентов через map метод, этот метод не видит this.props и я горожу вот такую фигню.
Как это сделать правильно, чтобы map увидел дополнительные свойства, а не только те, что лежат в текущем элементе массива?
var options = this.props.options;
var nodes = this.props.somedata.map(function (node) {
return (<MyComponent key={node.id} data={node} options={options} />);});

anoru
14.09.2016
05:56:04
Arrow func юзать

Alexandr
14.09.2016
05:56:18
map(node => {...})

Cocker
14.09.2016
05:56:51
а можно пример как для ребенка, как вот этот компонент выше переделать надо для этого?

Alexandr
14.09.2016
05:57:45

Google

Cocker
14.09.2016
05:58:58
Огонь, спасибо

anoru
14.09.2016
05:59:06
лучше без {}, а то надобудет return писать. map(node => ())

Admin
ERROR: S client not available

Cocker
14.09.2016
06:03:52
Спасибо огромное, ребята

anoru
14.09.2016
06:04:39
Охрененно
Почитай это https://learn.javascript.ru/es-modern
А ты бабель в проекте используешь или нет? Хотя очевидно да

Cocker
14.09.2016
06:05:28

Dmitry
14.09.2016
07:08:18
https://www.npmjs.com/
у вас тоже 503?

anoru
14.09.2016
07:21:57
ага

Vladimir
14.09.2016
07:23:28

Den
14.09.2016
07:35:20
Идёт набор в группу для обучения react/redux. Описание здесь https://github.com/BudIT/info

Alexey
14.09.2016
07:39:15

Dmitry
14.09.2016
07:49:33

Dreamerinnoise
14.09.2016
08:40:27
https://pbs.twimg.com/media/Cfh9oRrXIAAiA2Y.jpg

Vladimir
14.09.2016
09:05:27
Друзья, есть ли способ new line вставить в jsx?

from
14.09.2016
09:11:26
<br />?

Vladimir
14.09.2016
09:11:56
оно :) а через \n?

from
14.09.2016
09:12:52
хтмл же

Vladimir
14.09.2016
09:13:32
строка из конфига, ее нужно вставить в html, в ней добавить перенос

Павел
14.09.2016
09:14:03
{"\n"}

Google

from
14.09.2016
09:14:11

Vladimir
14.09.2016
09:14:14
вариант dangerouslySetInnerHTML с тегами или {'\n'}, но последнее работает, как отдельный стейтмент
если делать внутри строки, не работает

from
14.09.2016
09:15:26
Можно делать сплит по newline и выдать обёрнутые в <p> параграфы

Vladimir
14.09.2016
09:15:53
ясно, спасибо :)

Eugene
14.09.2016
09:20:01
а где можно скачать эту книжку Абрамова?

Vladimir
14.09.2016
09:22:12
качать книги - антипаттерн!

Eugene
14.09.2016
09:22:50
какое умное слово выучил!

Andrey
14.09.2016
09:23:03

Eugene
14.09.2016
09:23:28
выше была обложка в 11-40

Aleh
14.09.2016
09:23:40

Алексей
14.09.2016
09:36:24
А кроме draft.js есть какие-то еще WYSIWYG редакторы хорошие? Может кто пользовался какими-то