Albert
но как результат передать динамически в api.js?)
{ Amir }
колбэк
{ Amir }
помнишь observer?
{ Amir }
когда сами писали "редакс"
Albert
а как сделать так, чтобы не подчеркивалось красныи цветом?
Albert
я хочу верхний колбэк передать в редюсер
Albert
и там он вызовется с нужным ключом
Albert
а как его вернуть праивльно в api.js?
{ Amir }
у тебя нет переменной что ли?
{ Amir }
но тут траблка что ты создаешь несколько инстансов, т.е. объекты
{ Amir }
надо видеть код и тестить, не сохранится ли ссылка на объект дефолтного инстанса
{ Amir }
https://stackoverflow.com/questions/43014034/setting-authorization-header-in-axios
{ Amir }
интересное есть тут
https://github.com/axios/axios/issues/209
Albert
смотри, в верхнюю функцию вызываю в редьюсере, там приходит ключ, (аргументом в api.js) и его нужно вернуть в axios.create
{ Amir }
ага, но в первый запуск кода у тебя создастся инстанс, а после работы редьюсера что произодет?)
{ Amir }
инстанс не измениться и не создастся новый
{ Amir }
это тебе надо создание инстанса оборачивать в функцию
{ Amir }
чтоб после работы редьюсера ты пересоздавал инстанс И перезаписывал инстанс
{ Amir }
создаешь переменную let instance;
{ Amir }
а потом в функции в эту переменную присвайваешь созданный объект инстанса
{ Amir }
понял?
Albert
стоп, я сделал не правильно, нужно не instatnce, ведь он всегда пустой
Albert
а state из redux
{ Amir }
в смысле пустой?))
Albert
ну изначальный))
Albert
щя, секунду, я протестирую и вернусь))
{ Amir }
ну если ты про то что ключ надо передать из стэйта, то да)
{ Amir }
api.js же у тебя не реактивный )
Albert
{ Amir }
{ Amir }
{ Amir }
попробуй щас поработать вместо компилятора
{ Amir }
мысленно
{ Amir }
сверху вниз, слева на право
{ Amir }
переменную возвращать return'ом не надо
Albert
а короче я понял, я диспатчу апи ключ через санку в редюсере, и сразу же диспатчу логинизацию, то есть оно не связанно, ставлю then на санку, но как он работает?
{ Amir }
нет)
{ Amir }
не то
{ Amir }
Albert
да, то)
Albert
{ Amir }
у тебя код из файла api.js запускаетс только один раз
{ Amir }
он к реакту никакого отношения не имеет
{ Amir }
читай код этого файла
{ Amir }
сначала ты объявляешь переменную, потом объявляешь функцию и экспортируешь ее
{ Amir }
потом создаешь инстанс
{ Amir }
это ок
{ Amir }
после вызова экспортированной функции что произойдет?
Albert
так я по дебагеру смотрел, что в header пришел нужный ключ
Albert
но он почему-то все ранво не работает
{ Amir }
кидай ссылку на гитхаб
Albert
{ Amir }
а ты сделай дебаг того что приходит в создание инстанса
{ Amir }
ну вот
{ Amir }
придти то придет и что дальше должно быть сделано?
{ Amir }
ты думаешь что код const instance запуститься снова?
Albert
Albert
тебя понял)
{ Amir }
у тебя инстанс создался еще при компляции кода
{ Amir }
{ Amir }
с чего это он должен меняться?
{ Amir }
это реакт в компонентах делает ререндер
{ Amir }
а это просто js файл
{ Amir }
поэтому надо создать функцию которая будет создавать инстанс с новыми входными параметрами
{ Amir }
понял?
Albert
понял, а как это сделать?
{ Amir }
я выше написал как
{ Amir }
это тебе надо создание инстанса оборачивать в функцию
{ Amir }
чтоб после работы редьюсера ты пересоздавал инстанс И перезаписывал инстанс
{ Amir }
создаешь переменную let instance;
{ Amir }
а потом в функции в эту переменную присвайваешь созданный объект инстанса
Albert
пока вот так сделал, пришла 429 ошибка, я пока подожду, а тебе спасибо))
{ Amir }
Купи доступ
{ Amir }
240р
Albert
это для работадателя сделал
Albert
ооооо
Albert
на основном заработало все)))