@react_js

Страница 1196 из 5115
Кирилл
19.04.2017
14:02:13
просто при использовании redux и redux-sage, чтобы сделать запрос диспатчится экшн, в саге он отлавливается, делается непосредственно запрос

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

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

и то и то костыли

Google
Дмитрий
19.04.2017
14:06:39
а в чем суть? есть какой-то компактный пример, где можно понять что происходит?
class Block extends Component { asyncState( partial ) { return new Promise( rs => this.setState( partial, rs ) ) } async method() { const value = 'to state' await this.asyncState({ value }) console.log('done') } }

Кирилл
19.04.2017
14:09:01
кто-нибудь redux-sage использует? как вы ошибки запросов показываете?

Danil
19.04.2017
14:10:41
В стэйте храню и показываю если ошибки есть

Кирилл
19.04.2017
14:11:13
Sasha
19.04.2017
14:11:36
@ZeroBias @lokhmakov спасибо!

Danil
19.04.2017
14:14:17
можешь пример привести?
К сожалению на работе код, а я щас домой еду, завтра если только. Но суть такова, в саге есть трай кэтч, если приходит ошибка, то через put диспатчится экшн API_REQUEST_ERROR, в аргумент которого передаю ошибка и этот экшн меняет стэйт, а из стэйта в компонент выводится ошибка

Artur
19.04.2017
14:14:34
можешь пример привести?
Блин, ну вот я привёл пример хранения ошибки в стейте

Ладно, чуваки, какой сейчас самый православный метод рендерить es6 Map и es6 Set в компоненте? Нужен метод типа mapIterable, самому костылять или готовые есть?

Есть такое: Array.from(set).map, и даже такое: [...set].map, но смущает создание промежуточного массива

Кирилл
19.04.2017
14:17:44
К сожалению на работе код, а я щас домой еду, завтра если только. Но суть такова, в саге есть трай кэтч, если приходит ошибка, то через put диспатчится экшн API_REQUEST_ERROR, в аргумент которого передаю ошибка и этот экшн меняет стэйт, а из стэйта в компонент выводится ошибка
да такой подход понятен, но что делать если нужно не показать ошибку, а например показать алерт? в componentWillReceiveProps смотреть не пришла ли ошибка -> показывать алерт -> после закрытия алерта слать экшн, чтобы почистить глобальный стейт от ошибки?

Artur
19.04.2017
14:18:45
с redux-sage так не сделать
Там нет стейта, в который можно положить информацию о том что произошла ошибка и текст ошибки?

Google
Кирилл
19.04.2017
14:20:04
Там нет стейта, в который можно положить информацию о том что произошла ошибка и текст ошибки?
есть - стейт всего приложения... но как это связано с примером что ты привел?

Danil
19.04.2017
14:20:46
Ты алерт прямо в саге вызвать можешь с текстом ошибки, только как закрытие его обрабатывать я хз, не работал с алертами

Artur
19.04.2017
14:21:13
алерт блокирует выполнение js кода

Кирилл
19.04.2017
14:21:31
если код в браузере..

Artur
19.04.2017
14:21:32
Так что можно даже не хранить ничего, просто показать и всё

если код в браузере..
А если код не в браузере, то где там будет алерт?

Кирилл
19.04.2017
14:21:50
в RN например

Artur
19.04.2017
14:22:11
Тогда через компонент как я показал

Кирилл
19.04.2017
14:23:16
компонент не решает тут проблему ну никак... ну показал я компонент, алерт показался -> потом снова запрос и снова ошибка

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

Artur
19.04.2017
14:24:30
Смотря какая это логика

Кирилл
19.04.2017
14:24:36
если все что мы имеем это данные из глобального стора

Artur
19.04.2017
14:24:39
Если надо её показать - клади в стейт приложения и показывай

Danil
19.04.2017
14:24:45
Ну через кэтч ловишь и через пут экшны диспатчишь

Artur
19.04.2017
14:24:59
Если надо среагировать на закрытие алерта - вешай коллбек и ресагируй - меняй стейт приложения

Если надо повторить запрос несколько раз - повторяй

Кирилл
19.04.2017
14:25:44
ну как я и писал выше

показывать алерт -> после закрытия алерта слать экшн, чтобы почистить глобальный стейт от ошибки?

Danil
19.04.2017
14:26:10
Да

Можно например диспатчить экшн success, который чистить будет

Google
Кирилл
19.04.2017
14:34:21
@Dandandandan @artur_viktorovich спасибо

Mikhail
19.04.2017
14:42:09
друзья, посоветуйте file input компоненту

from
19.04.2017
14:43:27
друзья, посоветуйте file input компоненту
так там сверстать главное как правило (если надо чтоб как кнопка выглядел и работал норм)

Mikhail
19.04.2017
14:44:20
хотелось бы чтобы с superagent в комплекте, или аналог

from
19.04.2017
14:44:48
а какая связь?

Danil
19.04.2017
14:45:08
Думаю слать запрос с картинкой после onChange

Artur
19.04.2017
14:45:28
Set и Map — итерируемые сами по себе ?
Ага, только мне надо сделать map

Дмитрий
19.04.2017
14:56:25
А если нужно вернуть массив, то это уже не map)

Artur
19.04.2017
14:57:08
forEach есть
А мне надо сделать map

А если нужно вернуть массив, то это уже не map)
Не обязательно массив, мне можно просто iterable с другими значениями

Artur
19.04.2017
14:57:38
Шоб в компоненте отрендерить

Дмитрий
19.04.2017
15:00:48
Ну по хорошему только spread в том или ином виде

Herman
19.04.2017
15:00:50
Пацаны, а подскажите где можно украсть красивые чарты для данных? Всякие графики, крутёлки, перделки, маталки

Dmitry
19.04.2017
15:02:06
Highcharts

Дмитрий
19.04.2017
15:02:13
Не обязательно массив, мне можно просто iterable с другими значениями
const map = f => list => [...list].map(f) Не оч понимаю мотивы такой реализации iterables в js ?

Herman
19.04.2017
15:02:26
Highcharts
Ща гляну

Artur
19.04.2017
15:02:30
Да вот и я про то

Дмитрий
19.04.2017
15:03:06
Ну пока итераторы кстати всё равно слишком медленные для рендера на лету

Google
Дмитрий
19.04.2017
15:03:33
Всё равно массив/объект желательно бы

Herman
19.04.2017
15:04:59
А может знает какие-нибудь хипстерские аля...

Admin
ERROR: S client not available

Herman
19.04.2017
15:05:08
https://dribbble.com/shots/1738453-Xonom

Вот чё-нибудь такое

Dreamerinnoise
19.04.2017
15:08:09
redux-saga

Кирилл
19.04.2017
15:11:10
redux-saga
ридакс шалфей ?

Kreizo
19.04.2017
15:33:20
http://prntscr.com/eyby7a

это бан ?

Mike
19.04.2017
15:35:37
похоже

ну ничего

с мэдмакса там посиди

Kreizo
19.04.2017
15:41:47
Боже, да нету у меня фейков

я в том чате вообще ничего не писал

Max
19.04.2017
15:42:48
@evgenyrodionov

а разбань человека

если говорит не писал ничего

Evgeny
19.04.2017
15:43:29
Готово

Kreizo
19.04.2017
15:47:53
спасибо

Google
Nikolay
20.04.2017
07:42:49
Есть кто использует React с TypeScript? Скиньте, пожалуйста, пару примеров кода, или актуальных статей.

Max
20.04.2017
07:42:59
@typescript_ru

Nikolay
20.04.2017
08:05:04
спасибо

Razzwan
20.04.2017
08:25:03
Как избавиться от 403 при кросс-доменном запросе?

https://gist.github.com/Razzwan/748687cd977462120fc13ef5bc0f6d0f

Pavel
20.04.2017
08:36:01
https://gist.github.com/Razzwan/748687cd977462120fc13ef5bc0f6d0f
Вот заголовки при рабочей схеме:



Razzwan
20.04.2017
08:37:36
И че, отличие от моих только в том, что application/hal+json вместо application/json - это то, что заметил. А есть CORS настройки сервера для этой схемы?

Ҫѐҏӗѫӑ
20.04.2017
08:37:58
напомните, кто из чата будет на Реакт Амстердам?

могу добавить в русскоязычный чатик по теме, чтобы координироваться проще

Pavel
20.04.2017
08:39:33
Как избавиться от 403 при кросс-доменном запросе?
на клиенте "withCredentials: true". А на сервере CORS настроить. Вроде так

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