
Илья
02.04.2018
08:18:21

Max
02.04.2018
08:18:39
можешь инициализировать сервис работы с апи один раз и гонять его через контекст реакта

Valeriy
02.04.2018
08:18:47
передаешь туда нужные параметры

Google

Valeriy
02.04.2018
08:22:27

Max
02.04.2018
08:22:38
DI он и в африке DI
похуй на интерфейс

Valeriy
02.04.2018
08:22:44
компоненты реакт ничего не должны знать про API функции и транспорт
они должны быть независимы от всего этого

Max
02.04.2018
08:23:00
meh?

Илья
02.04.2018
08:23:28

Max
02.04.2018
08:23:28
вообще да, но я пока другого способа не нашел это сделать без синглтонов

Илья
02.04.2018
08:23:40
нашел какой-то setContext

Valeriy
02.04.2018
08:23:44

Илья
02.04.2018
08:23:47
но пока не разобрался

Valeriy
02.04.2018
08:24:01
делаешь обоерточный метод над axios или interceptor на него описываешь

Илья
02.04.2018
08:24:26

Google

Valeriy
02.04.2018
08:24:38
ща покажу свой варик
у меня в разных проектах разная ситуация и разные обоертки

Max
02.04.2018
08:24:58
давай, интересно
что там кроме синглтона либо глобального инстанса может быть

Valeriy
02.04.2018
08:25:25
вот простецкий вариантик
и потом функции API зеркалишь в вебе

Max
02.04.2018
08:26:22
не видно где у тебя токен хранится

Valeriy
02.04.2018
08:26:27
в более серьезном проекте там более сложный врапер
в этом врапере нет токена там бакендщики через куки сделали

Max
02.04.2018
08:27:10
тут интересует именно хранение токена а не то как ты врапперы написал
т.е. есть какой-то апи-релейтед стейт

Valeriy
02.04.2018
08:27:54
вот еще пример

Max
02.04.2018
08:28:11
Илья, еще придумал ебанутый вариант
Получаешь токен, кладешь в куку

Valeriy
02.04.2018
08:28:16

Max
02.04.2018
08:28:21
В сервисе дергаешь его
ну или в lS

Valeriy
02.04.2018
08:28:28

Сергей
02.04.2018
08:28:41
А я класс сделал

Google

Сергей
02.04.2018
08:28:59
Его проще мокать
Немного

Valeriy
02.04.2018
08:29:07
А я класс сделал
ну у меня этих вариантов много, не все проекты сам с нуля писал же
смысл в том, чтобы потом можно было легко заменить axios на что-то другое

Илья
02.04.2018
08:29:41
вот простецкий вариантик
не вариант, при так это должно тработать и на сервере. К тебе пришел польльзватле ты создал стор на сервере и запускаешь экшены для него

Valeriy
02.04.2018
08:29:46
например на отправку запросов в вебсокеты

Сергей
02.04.2018
08:29:56
Плюс отвязаться от текстовых урлов

Valeriy
02.04.2018
08:30:58
для чего вообще сервер рендеринг нужен?
он нужен для 1. SEO 2. для медленных клиентов

Илья
02.04.2018
08:32:17

Valeriy
02.04.2018
08:32:23
что имеется в виду под стором на бакенде?

Илья
02.04.2018
08:33:37
redux стор который ты прокидыавешь в приложение перед его рендером на сервере

Valeriy
02.04.2018
08:34:02
с бакенда прокидываю?

Илья
02.04.2018
08:34:06
короче нашел setContext и getContext в сагах. Буду пробовать

Valeriy
02.04.2018
08:34:18
в смысле полный глобальный стейт приложения хранится на бакенде где-то?

Илья
02.04.2018
08:34:30

Valeriy
02.04.2018
08:35:12
как бы посмотреть пример вашей архитектуры

Google

Илья
02.04.2018
08:35:44

Valeriy
02.04.2018
08:35:47
это react next?

Илья
02.04.2018
08:36:20

Cenator
02.04.2018
08:36:32
свой стор

Artyom
02.04.2018
08:52:27

Admin
ERROR: S client not available

Alex
02.04.2018
08:57:13

Oleh
02.04.2018
09:09:33
Ребят, а как сделать, чтобы bundle.js раздавался на одном порту, а index.html с 2-м бандлом лежал на 2-м порту и во 2-м бандле уже первый зареквайрить, чтобы можно было одновременно разрабатывать оба бандла? При чем чтобы 1-й бандл отдавался только js, не генерируя html.
просто как-то сделать на localhost 2 порта с шейред компонентами, которые не генерируют хтмл и отдают js и уже основной проект, который будет этот js запрашивать?

Artyom
02.04.2018
09:16:28

Maxim robox
02.04.2018
09:36:22
Я диспатчу экшн.
Теперь я хочу сделать условным его.
Внутри thunk я хочу взять стор/стейт, применить к нему селектор.
Потом хочу взять копию стора, диспатчнуть экшн и применить селектор к новому стейту. И потом их сравнить. И по результатам сравнения решать, диспатчить ли экшн к основному стору. Все это внутри thunk.
Нормальная затея или воняет?

Artyom
02.04.2018
09:37:20

Alex
02.04.2018
09:40:14

Maxim robox
02.04.2018
09:43:23

Alex
02.04.2018
09:45:38
Тогда лучше проверить заранее, или создать второй экшон типа tryChange, и к примеру в саге решать отправлять финальный экшон или нет, а снапшоты стейта не лучший подход

Maxim robox
02.04.2018
09:47:01
Ну для проверки мне нужно селекторы применить к старому и новому стейту.

Alex
02.04.2018
09:48:19

Maxim robox
02.04.2018
09:49:43

Google

Alex
02.04.2018
09:51:11

Timofey
02.04.2018
09:51:45
при этом ошибок браузер не пишет, стиль не зачеркивает

Maxim robox
02.04.2018
09:53:12

Alex
02.04.2018
09:54:24
Селектор селектит установленую в сторе дату? Модифиуируй или добавь селектор который будет принимать новую дату и применяй его к текущему стейту

Valeriy
02.04.2018
09:54:33

Maxim robox
02.04.2018
09:54:39

Alex
02.04.2018
09:55:07
Да, селектит.
Так если передать в селект как аргумент это значение и применить его к стейту?

Alexey
02.04.2018
09:55:44
Подскажите пожалуйста, почему у меня выводит в консоль сообщение дважды, как это можно пофиксить?
Вот код
https://jsfiddle.net/69z2wepo/160066/

Maxim robox
02.04.2018
09:55:49

Alex
02.04.2018
09:56:28
Не обязательно, можно передать и дополнительные

Nikolay
02.04.2018
09:58:02

Valeriy
02.04.2018
09:58:17

Maxim robox
02.04.2018
09:58:19

Alexey
02.04.2018
09:59:46

Maksim
02.04.2018
10:03:20

Alexey
02.04.2018
10:04:15

Valeriy
02.04.2018
10:06:07