Denis
так а его потом спросили а как файлы слать, ежели не через фд
Arti 🦠
а в реквесте?
на бек форм дату отправляешь
Arti 🦠
кароче у меня смс не доходят в телегу ....
Arti 🦠
У меня задержка очень сильная отправки смс в телегу .... так что сорян
Arti 🦠
смс в телегу? 🤔
аха, через нокио шлю
Rou
shortid )
shortId?
Denis
shortId?
npm repo shortid
Alex
качаешь shortid через npm npm i shortid и используешь его как key
Alex
вот так
wolfe
вот так
не надо так делать. обойди его на крайний случай и присвой заранее
Alex
не надо так делать. обойди его на крайний случай и присвой заранее
обойти кого, присвоить куда где? я не умею читать между строк извини не понял о чем ты
wolfe
обойти кого, присвоить куда где? я не умею читать между строк извини не понял о чем ты
проиндексируй элементы заранее, если в этом есть необходимость. у тебя в рендере каждый раз генерируется ключ
Denis
и в чем проблема? не пойму
в том, что у тебя сама суть ключей реакта теряется, если он новый постоянно генерится
wolfe
и в чем проблема? не пойму
в том, что достаточно изменить стэйт и у тебя ключи опять начнут генерироваться и этот солюшен бесполезный
Ilya
и в чем проблема? не пойму
проще вообще тогда не передавать key (либо index)
wolfe
и в чем проблема? не пойму
короче, рендер выполняется неоднократно и ключи используются для его оптимизации. ты можешь либо просто использовать индекс в массиве, либо при получении этого массива создать новый, сгенерировав ключи
Igor
использование индекса в динамических массивах приводит к рендеру с неконсистентными багами, может что то не отренерится или занять не ту позицию и этот баг будет плавающий, натыкался несколько раз.
wolfe
ну здесь стоит уточнить, что если массив потом меняться не будет абсолютно никак, то будет достаточно только индекса элемента в массиве как ключ
Mikhail
использование индекса в динамических массивах приводит к рендеру с неконсистентными багами, может что то не отренерится или занять не ту позицию и этот баг будет плавающий, натыкался несколько раз.
нет, бага от индексов в ключах не будет. видимо, у вас что-то другое было. не нужно юзать индексы, так как тогда реакт не будет нормально оптимизировать рендер
The Даня
Для чего вообще нужен shortid?
Denis
Для чего вообще нужен shortid?
ShortId creates amazingly short non-sequential url-friendly unique ids. Perfect for url shorteners, MongoDB and Redis ids, and any other id users might see.
Mikhail
а почему не nanoid
Denis
а почему не uuid
Mikhail
потому что наноид написан ситником и весит 139 байт
🦜
потому что наноид написан ситником и весит 139 байт
он не генерит uuid, но для отстальных кейсов топ
Igor
пытаюсь завести ts, CRA автоматом создал tsconfig, но не пойму в чем дело
Anonymous
Кто-нибудь пробовал в content: attr() вставить картинку? указываю вторым аргументом тип атрибута как url, но что-то не работает у меня пользовательский атрибут(data-img), но роли это не играет, думаю даже фоллбэк не срабатывает upd: https://caniuse.com/#feat=mdn-css_types_attr_type-or-unit_url эти всё сказано
wolfe
пытаюсь завести ts, CRA автоматом создал tsconfig, но не пойму в чем дело
судя по ошибке, у тебя расширение файла неправильное. попробуй переименовать в *.tsx
ssshhh
Как с такога обекта const obj = { version: '', author: '', operator: '', children: [ { version: '', author: '', operator: '', children: [ { version: '', author: '', operator: '', }, { version: '', author: '', operator: '', } ] } ] } Сделать такой масив const obj = [ { version: '', author: '', operator: '', children: [ { version: '', author: '', operator: '', children: [ { version: '', author: '', operator: '', }, { version: '', author: '', operator: '', } ] } ] } ]
Volodymyr
Привет всем! Вопрос, есть Array который я мапаю. Как задать опреленный стиль последнему эл. из массив при услови что Props уже пришел? index === index.length -1 && connectionLost ? “class” : “” как то так?
Volodymyr
https://github.com/JedWatson/classnames
Спасибо! но как то, для одного класса продключать либу..))
Denis
Спасибо! но как то, для одного класса продключать либу..))
эта либа мастхев на реакт проекте имхо
Alex
ор
ор в чем?
Artem
Есть пример реализации работы с сокетами на реакте?
Evgeniy 🍀
Есть пример реализации работы с сокетами на реакте?
но ведь реакт не работает с сокетами
Artem
но ведь реакт не работает с сокетами
Однако сокеты требуется, и как правильнее всего с ними работать на реакте хотелось бы знать
Denis
Однако сокеты требуется, и как правильнее всего с ними работать на реакте хотелось бы знать
import socket from 'any-socket-lib-client' socket.on('message', () => { // any code }) // any code
Sergey
import socket from 'any-socket-lib-client' socket.on('message', () => { // any code }) // any code
const Example = () => { useEffect(() => { const handler = (message) => console.log(message) socket.on(“message”, handler) return () => socket.off(“message”, handler) }, []) }
Artem
import socket from 'any-socket-lib-client' socket.on('message', () => { // any code }) // any code
Нужно что-то более приближенное к нормальному архитектурному подходу Где инициализировать коннект, как его прокидывать компонентам Или же вообще выносить это все в редакс
Alexey
Ребят,вопрос такой,смотрю курс про разработке todo приложения и столкнулся с проблемой,что не правильно изменяются свойства у элементов списка такие как(active ,done) Из-за этого,приложение работает не правильно,у меня в state главного компонента app.js записана информация о поиске(если есть) и о фильтрации.У меня не отображается правильно вкладка active и done,в чем может быть проблема? https://github.com/Aleshka-Garmoshka/Invoices/ ОЧень надеюсь на помощь,заранее спасибо
Sergey
в effector я просто подключал socket к стору и обрабатывал в нужных местах. компоненты получали уже только необходимые данные из сторов. с reatom будет то же самое
Serega
Ребята, кто-то работал с файрбейс?
Artem
в effector я просто подключал socket к стору и обрабатывал в нужных местах. компоненты получали уже только необходимые данные из сторов. с reatom будет то же самое
Как прокинуть соединение всем компонентам тогда? Мы диспатчим все события сокетов в мидлвейрах, это окей, но эмиты мы должны вызывать уже внутри самих компонентах
Serega
Ребята, кто работал с файрбейс, подскажите как сделать проверку на авторизацию пользователя перед тем как отресуется DOM ?
Artem
а, ты про ридакс. компоненты не должны получать соединение они должны иметь экшены и данные в сторе
Получается мне нужно создавать экшн под каждое действие А внутри экшана уже брать соединение (из редакса?) и делать emit?
🦜
Что дает именно uuid?
Загугли. Это алгоритм для генерации id, который бекендеры как-то юзают
Sergey
новый стейт менеджер или что это?
не новый но хороший github.com/zerobias/effector
Sergey
Получается мне нужно создавать экшн под каждое действие А внутри экшана уже брать соединение (из редакса?) и делать emit?
но только не внутри экшена а внутри миддлвары и соединение будет в замыкании миддлвары
Sergey
я написал 4 приложения на нем парочка уже в проде, два других готовятся
Artem
но только не внутри экшена а внутри миддлвары и соединение будет в замыкании миддлвары
Мидлвара будет модифицировать контекст и добавлять туда коннект?
Sergey
Мидлвара будет модифицировать контекст и добавлять туда коннект?
нет. это два разных варианта. Контекст и Ридакс. Если ридакс, то через миддлвару
Sergey
я не про эффектор, я про reatom
а, его не юзал. Но выглядит интересно. По крайне мере из-за SSR. Пока ещё не релизнулись. Да и не понятно как проектировать приложения
Igor
сталкивался кто с подобным?
Sergey
сталкивался кто с подобным?
вообще тебе белым по черному написано, что надо сделать
Алексей
вообще тебе белым по черному написано, что надо сделать
спокойней :) люди, пришедшие в разработку периодиечски боятся, когда многабукав. @yngvarr_maslow установи пакет @types/react-tippy
Igor
да нет, я давно уже, просто первый раз щупаю тс
Алексей
да нет, я давно уже, просто первый раз щупаю тс
тогда учись читать ошибки, чего 😂