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 }
переменную возвращать return'ом не надо
Albert
а короче я понял, я диспатчу апи ключ через санку в редюсере, и сразу же диспатчу логинизацию, то есть оно не связанно, ставлю then на санку, но как он работает?
{ 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 }
у тебя инстанс создался еще при компляции кода
Albert
ты думаешь что код const instance запуститься снова?
стоп, он запускается сразу, потом присвоилась переменная внутри него, может происходить присваивание внутри, но при этом код не вызываться повторно?
{ Amir }
с чего это он должен меняться?
{ Amir }
это реакт в компонентах делает ререндер
{ Amir }
а это просто js файл
{ Amir }
поэтому надо создать функцию которая будет создавать инстанс с новыми входными параметрами
{ Amir }
понял?
Albert
понял, а как это сделать?
{ Amir }
я выше написал как
{ Amir }
это тебе надо создание инстанса оборачивать в функцию
{ Amir }
чтоб после работы редьюсера ты пересоздавал инстанс И перезаписывал инстанс
{ Amir }
создаешь переменную let instance;
{ Amir }
а потом в функции в эту переменную присвайваешь созданный объект инстанса
Albert
пока вот так сделал, пришла 429 ошибка, я пока подожду, а тебе спасибо))
{ Amir }
Купи доступ
{ Amir }
240р
Albert
Купи доступ
я купил для основного
Albert
это для работадателя сделал
Albert
ооооо
Albert
на основном заработало все)))