Александр
А токен что из себя представляет? Если jwt например, то можете по нему сами определить протух он или нет, но это не избавляет все равно от обработки ситуации с 401 ошибкой
Александр
Можно вообще HEAD чтобы лишний раз не нагружать бек, но тут зависит от того как там все настроено
Denis
ребята, я уже спрашивал, но все равно не получается въехать) хелп. есть инпут <input name={var1}/> — "сюда кладу обычный объект" объек такой const var1 = { name: blabla, cost: 1000 }. мне надо по onChange задать стейт this.setState({ [name]: name [cost]: cost )} на выходе хочу получить два стейта как объект , идея такая , по клику на инпут чекбокс я делаю два стейта, один:имя второй:цена .... это все для того чтобы не писать каждому чекбоксу отдельную функцию, или лучше написать каждому по функции, чем каждому по исходному объкту?
Denis
this.setState({ [name]: var1.name [cost]: var1.cost )} — не катит(
Denis
А велью для кого придумали?
туда передать объект?
Dmitriy
туда передать объект?
Нейм в нейм. Кост в велю
Denis 🇺🇦
А как вообще в инпут можно запихать обьект
Denis
по нейму я ловлю инпут в том то и дело, в велью положил нейм, теперь думаю куда положить кост
Denis
Denis
<input type='checkbox' name="ev" value='вечер' onChange={this.checkCheckbox}/> он выдает мне стейт ev: 'вечер', и хочется еще чтобы cost выдавал
Denis
'В велью положил нейм' я сдаюсь)
так и есть уже, как реализовать дополнительный value что ли, не знаю как сказать)
Улан
Ты хочешь при клике на чекбокс выводился нейм и кост на чекбоксе?
Vadim
<input onChange={this.handleChange.bind(this, someVar)} /> .... handleChange(someVar, event){ const value= event.target.value; this.setState({ value, someVar }); }
Anonymous
1) Пользуется кто GraphQL? Я попробовал Apollo, но там девтулзы ещё сырые, состояние не отображало, так что я по старинке с Redux 2) Кто что использует для упрощения жизни с редаксом? Симбиоты, ORM -- вот это всё. Я пока ничем не пользуюсь 3) Посоветуйте гайд по бэкэнду на ноде. Запустить сервер -- я запустил, но прикасаться к докеру и датабазам мне пока страшно.
Denis
Ты хочешь при клике на чекбокс выводился нейм и кост на чекбоксе?
записывался в стейт кост:1000б велью: блабла, потом я это отправляю на сервер
Dmitriy
так и есть уже, как реализовать дополнительный value что ли, не знаю как сказать)
Вечер и Кост в каком виде у тебя до того как в инпут запихиваешь?
Denis
<input type='checkbox' name="ev" id='eveninghear' value='вечер' onChange={this.checkCheckbox}/> кост куда положить не могу придумать, я их задаю в инпуте
Denis
объект в name положить не получилось, точнее он положился, но хрень какая-то из него выходит)
Denis
если массив положить в нейм то он в строку превращается
Dmitriy
<input type='checkbox' name="ev" id='eveninghear' value='вечер' onChange={this.checkCheckbox}/> кост куда положить не могу придумать, я их задаю в инпуте
Подготовь модель данных (объект например) а потом в ивенте используя нейм и велью, ищи в той модели доп данные что тебе нужны и сеть в Стейт
Denis
имеешь ввиду так?
Denis
вот объект
Denis
<input type='checkbox' name={nameA}.../>
Dmitriy
имеешь ввиду так?
Нет сохрани в поле класса объект вида {name: {вечер: 1000, утро: 2000}} А потом в ончейдже доставацте данные имея нейм и велью инпута. Или же можно засетить правильный вид стейта и потом при очейдже мерджить но это менее очевидно
Dmitriy
вот объект
Не нужно в дом пихать то что там не нужно. Храните это а абстракциях реакта
Denis
тяжко)) попробую, еще вопрос, какое кол-во стейтов у компонента может быть? если больше 20 это норм или беда?
Denis
в конструкторе есть, или в хроме посмотреть
Denis
просто у меня небольшая форма планируется, на каждый чекбокс по 2 стейта хочу получить
Alexander
Вопрос по react router. Пути которые я создаю должны в итоге быть обработаны сервером?
Denis
через универсальную функцию пока не получается, то есть повесить одну функцию на все чекбоксы. каждому чекбоксу написать отдельную функцию как-то не dry, хотя работать точно будет
Dmitriy
У классовых компонентов Стейт это единый обьект. У хуков может быть много
Александр
Вопрос по react router. Пути которые я создаю должны в итоге быть обработаны сервером?
Нет, или да если хотите SSR, но в последнем случае его тот же реакт роутер будет обрабатывать, только на сервере
Alexander
Нет, или да если хотите SSR, но в последнем случае его тот же реакт роутер будет обрабатывать, только на сервере
Я запилил тестовый проект с роутами, их там штук 9, за билдил его, и начал хостить через serve -l 3000 И в итоге только рут / находится, а в остальных путях ловлю 404. Почему?
Александр
Alexander
serve -s
Благодарствую 👌 А если этот билд выкладывать на хостинг любой, то с этим не будет проблем? Или в зависимости от хостинга нужно будет настраивать редирект?
SaM
Фолбэк на index.html
Ну вот сервер должен про это знать таки
Alexander
Беда. То есть абы какой хостинг из сети не подойдёт, если там таких настроек нет.
Cenator 🐈
На now.sh есть
Cenator 🐈
Если за деньги то лучше впс взять
Bogdan
кто то отправляет запросы multipart/form-data ??
🅅aleriy
кто то отправляет запросы multipart/form-data ??
ну это же требование бакенда, если требуется form-data, отправляешь в этом формате
Bogdan
🅅aleriy
как в нем отправлять? заголовок поставил вроде как
набери в гугле form data и в MDN изучи с примерами https://developer.mozilla.org/ru/docs/Web/API/FormData
Александр
Ты можешь в стейт добавить массив объектов и пушить туда объекты с нейм и кост в одной функции
Ни надо плохие советы давать, не надо пушить в массив находящийся в стейте, нужно создавать новый
Bogdan
ну это извращение какое то
Bogdan
тоесть если 20полей мне 20 раз нужно вызвать append ну бред же, да даже если циклом закидывать, выглядит убого
Bogdan
Напишите функцию елки-палки, jsonToFormData
у меня сабмит на форме, обьект из полей, передать весь обьект в функцию и циклом заполнить?
Александр
Ну например циклом пройдитесь по полям, две строчки же
Александр
Object.keys(data).forEach(key => formData.append(key, data[key]))
Александр
Господи, у вас же react, зачем в DOM то лезть
Александр
Ну не знаю, я бы сделал отдельный модуль api, который бы инкапсулировал в себе детали логики работы с вашим бекендом
Bogdan
в санке доступ к апи
Александр
у меня есть такой, и у каждой фичи тоже есть
Ну так добавьте туда преобразование из словаря в FormData
Александр
У вас все post/put/patch что у вас там, ожидают данные в multipart? Если да то просто все сериализуйте в FormData, или более общо: добавить к методам api, параметр contentType, если он multipart/form-data то делаете одно, если application/json то другое и так далее
Bogdan
вот так отработал но это же хрень полная
Александр
У аксиоса если память не изменят есть отдельный параметр contentType, он автоматом выставит заголовок и сериализует правильно
Александр
Попробуйте убрать headers и добавьте contentType заместо него
Александр
не вышло formData значит полюбому нужно использовать
Наверное, ошибся видимо, не преобразует сам аксиос.
Eugene
да, без класса было бы лучше 🤔
Bogdan
Класс здесь лишний
куда вынести этот метод нужно? преобразовать в главном апи файле нужно ведь?
Eugene
ЧОт давно форм дату не видел 🤔
Bogdan
вместо класса типо функции лучше?