Looch
а без нехт?
самописный ssr это будет проблемка
Maksim
а для не очень умных людей?)
ну куда еще проще я не знаю сам код конечно такое себе
Maksim
почему?
не ясно для чего там вообще useState
Anonymous
Artem
не ясно для чего там вообще useState
а ведь и правда. спасибо большое. глаз совсем замылился. всё работает
Anonymous
а без нехт?
Самопис
Bogdan
Ребята, посоветуйте литературу для изучения React
Bibawebdeveloper
Ребят, у меня как будто компонента расширяет клетку грида, он выливается на сайдбар примерно на 10 пикселей, но я сделал даже все блоки в той компоненте поменьше, а все равно такая же хрень. Так бы это было не заметно, но когда подгружается следующая компонента, с ней все нормально, как и с 3мя остальными. И мэйн контент как будто "мигает"
Slayer
Здравствуйте, подскажите, можно ли использовать styled-components не создавая целый проэкт для реакта?
Nurdan
Чем писать лучше, классами или функциями?
Bibawebdeveloper
Урезал много картинок, хотя по сути это и не должно было помочь, а потом вместо фракций просто сделал фиксированные пиксели, но все равно не помогло
Artem
Помогите, пожалуйста. Есть стейт (на хуках). Допустим name. Хэндл, обрабатывающий ввод с клавиатуры в конце проверяет общий formValid. Но суть в том, что setName(e.target.value) по-моему асихнронный чуть-чуть. И происходит следующее. Валидация поля - минимальное количество символов 3. Вводишь два символа, вводишь третий - ничего. Вводишь четвертый - formValid становится true. И наоборот. Как побороть это?
Artem
то есть сетНэйм не успевает поменять стейт прежде, чем сработает проверка валидации формы (общая)
Kirill
в поле какой метод — onKeyUp?
Kirill
попробуй onkeyup
Artem
Как работает валидация?
https://pastebin.com/Du5xDqeb
Костя
Кто пользовался React Joyride? Не могу нормально отпозиционировать окошко, мож кто решал уже такую проблему?
Artem
Как работает валидация?
т.е. когда мы делаем вот так: console.log(name); setName(event.target.value); console.log(name); мы получаем вот что: ContactForm.tsx:90 ContactForm.tsx:92 ContactForm.tsx:90 a ContactForm.tsx:92 a ContactForm.tsx:90 aa ContactForm.tsx:92 aa всё срабатывает только со следующего раза
Андрей
const [name, setName] = useState(''); ,
Верно. setName просто триггерит ререндер и уже в ререндере будет своя локальная переменная name, в которой хранится новое значение.
Андрей
Походу пора ещё одну статью пилить об этой ошибке.
Artem
Верно. setName просто триггерит ререндер и уже в ререндере будет своя локальная переменная name, в которой хранится новое значение.
а, то есть вэлью полей надо записывать в обычную переменную let? и менять её? а синтаксис хуков использовать только когда ререндерить?
Пöß d'Ivoire
юзайне усовершенствованный хук
Пöß d'Ivoire
https://github.com/the-road-to-learn-react/use-state-with-callback
MVD
как мне в swtich case описать case el in array ?
Aleksei
как мне в swtich case описать case el in array ?
никак, свитч так не работает используй if/else if
Артем
Ребят,почему может быть что после перезагрузки страницы данные которые я перезаписал в редукс стали строкой?) но изначально там было все хорошо и данные были те что надо
Volodymyr
Привет всем, ребята, тут уже как-то кидали ссылку на гит, где куча задач по реакту на практику, если кто может, продублируйте плз.
Артем
посмотри, где просиходит запись - проверь наличие (или отсутствие) приведения типов
привидение типо отсутствует.... а надо обязательно приводить в нужный тип? редукс постоянно возвращает туда строку?
Igor
ну желательно явно их приводить, а то js - тот ещё затейник в этом плане
Артем
ну желательно явно их приводить, а то js - тот ещё затейник в этом плане
то есть если я записываю данные в localStorage, и потом забираю их то они будут в строке?
Viacheslav
Господа, есть задачка: дана строка с html, и массив объектов-тегов, которые имеют поля: начало, длина и url. Нужно заменить в строке слова на теги (ссылки), но только те слова, которые не внутри тега <blockquote> Как бы решили?
Igor
localStorage хранит только строковые данные
Viacheslav
регуляркой, но это чатика реакта
Регуляркой заменить все blockquote на звездочки? А потом пройтись по строке заменяя на теги все что не звездочки?
Andrey
Я уже придумал вот такую реализацию, вопрос насколько она хуевая
ты можешь кейс по шагам расписать, не понятно ничего
Andrey
Что именно не понятно, вот тз
где? что такое начало в объекте 1) пример строки 2) пример объекта 3) что не надо заменять
Igor
Кину клич ещё раз - тут есть люди с опытом тестирования react/redux приложений? подскажите хороший гайд по тестированию саг?
Виктор
Всем привет. Вопрос по производительности Может кто имел опыт в создании очень больших форм (как минимум 100 полей в компоненте ) Сейчас ситуация такая Создал один компонент(родительский) он принимает значения, на оснве которых рисуются поля формы, он же и принимает их value и хранит все в стейте все это я передаю пропсами в низ , для того что-бы поля нарисовались сами поля функциональные компоненты теперь когда полей много, и начинаю вводить текст, начинает жестко тормозить понял что это из-за того, что onChange метод вызывает SetState и из-за этого поля каждый раз перерисовываются Подскажите правильный подход, как это можно сделать правильно или может идею какую-то как это можно оптимизировать
Andrey
Viacheslav
это учебная задача?
Довольно таки да
Andrey
Довольно таки да
не жизнеспособна, заменяют теги по-другим алгоритмам
Viacheslav
По каким таким. Здесь и нет алгоритма, нужно его реализовать
Andrey
По каким таким. Здесь и нет алгоритма, нужно его реализовать
тяжелый способ - npm автолинкер легкий способ - регулярное выражение + split-join очень легкий - хранить список тегов в базе
Viacheslav
тяжелый способ - npm автолинкер легкий способ - регулярное выражение + split-join очень легкий - хранить список тегов в базе
Автолинкер же ищет ссылки и заменяет их на <a, А у меня дано строка и объект, а нужно получить строку с ссылками
Andrey
По каким таким. Здесь и нет алгоритма, нужно его реализовать
в твоем способе 1) слайсом обрезать строку и получить исходный тег 2) навесить на тег линку 3) split-join-м заменить сохраненный тег на линку PS offset - позиция, а length - длина слова же?
Andrey
Это все легко, главное определить что тег внутри blockquote
тут тоже легко, надо только по бенчмаркам посмотреть, вечером после работы гляну какой быстрее
Igor
не писать саги, выкинуть их и забыть
но почему? они удобные жеж
Тимофей 🛴
как мне в swtich case описать case el in array ?
switch(true) { case array.includes(el): } Регулярно всплывает такое написание в всяких tips, но это очень редко красивее чем простые if else
🦜
но почему? они удобные жеж
я лишь могу тебе посоветовать вынести все функции в юнити и их тестить, а не саги
Andrey
Какие варианты есть?
regex с blockquote нежадный вырезать по нему сплит-джоином и повторить мои действия сверху до замены заменить в полном тексте
Viacheslav
А как быть с offset, после вырезания
Vadym
На firebase можно бесплатно дэплоить SPA?
🦜
"минус”
ваше мнение очень...
Igor
🤣
ну так то это тоже не сильно аргументированно было
Igor
вообще саги - для одного, танки - для другого, вопрос был не в том, нужны они или нет
artalar
Я, наоборот, не вижу в них разницы… С сагами проще делать сложные вещи, а с санками простые. Но сами “вещи” одни и те же…