@react_js

Страница 3556 из 5115
Илья
02.04.2018
08:18:21
кастомные заголовки обычно делают в обертке к транспорту
транспорту тоже нужно как-то это передать

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

Valeriy
02.04.2018
08:18:47
транспорту тоже нужно как-то это передать
ну в рут саге инициализируешь модуль с транспотным врапером

передаешь туда нужные параметры

Google
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

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

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

Илья
02.04.2018
08:24:26
делаешь обоерточный метод над axios или interceptor на него описываешь
ну а в место вызовы апи это как попадет? синглтон не вариант

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
Илья, еще придумал ебанутый вариант Получаешь токен, кладешь в куку

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. для медленных клиентов

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?

с ssr не работал видимо?))
работал, но у меня немного другое представление об SSR :)

Илья
02.04.2018
08:36:20
как бы посмотреть пример вашей архитектуры
ее нет. Пришел на проект, там саги. Нужно запилить ssr

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

Admin
ERROR: S client not available

Alex
02.04.2018
08:57:13
ее нет. Пришел на проект, там саги. Нужно запилить ssr
Как вариант ещё можно в рут саге инициализировать то что тебе нужно и аргументами прокидывать в саги, но контекст наверное более правильное решение

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. Нормальная затея или воняет?

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
Timofey
02.04.2018
09:51:45


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

Maxim robox
02.04.2018
09:53:12
Селект по стейту в санке и пытаться определить будет ли валидной новая дата
Ну для этого мне нужно применить селектор к старому и новому стейту. Собственно, я и спрашиваю, нормально ли будет создавать копию стора, диспатчить экшн (смена даты), применять селектор и сравнивать. Внутри thunk.

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

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
Пока не совсем понимаю. Аргумент для селектора это же весь стейт.
Если реселект, там опционально пропсы вторым аргументом.

Alexey
02.04.2018
09:59:46
такие вещи лучше вешать на keyup
Поменял, но поведение осталось прежнее

Maksim
02.04.2018
10:03:20
Поменял, но поведение осталось прежнее
2 лисенера, 2 сообщения, все верно

Alexey
02.04.2018
10:04:15
2 лисенера, 2 сообщения, все верно
Как можно это исправить в рамках моего компонента?

Valeriy
02.04.2018
10:06:07
Поменял, но поведение осталось прежнее
ты неправильно работаешь с textarea

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