169 похожих чатов

Есть компонент с текстовым input. При нажатии enter в input

добавляется класс error. (document.getElementById.classList="error"). При перерендере компонента (например, меняем стейт) класс error остается. Это из-за virtual dom? Реакт перерисовывает только те элементы, которые непосредственно изменяются?

9 ответов

6 просмотров

Да

Eduard-Balichev Автор вопроса
ᅠOrest
Да

И чо, нужно вручную в useEffect каждый раз удалять лишний класс? Или есть более элегантное решение?

Eduard Balichev
И чо, нужно вручную в useEffect каждый раз удалять...

Если дело в сабмите, то просто удаляй класс функцией на батоне

Забудь про getElementById в реакте

eden lane
Забудь про getElementById в реакте

А что использовать вместо?

Yurii
Почему?

потому что это жуткий антипаттерн, надо в зависимости от стейта рендерить разные штуки, а не менять DOM напрямую

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
97
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Вопрос вроде правильно, но что надо сделать, чтоб текст был виден нормально ? ghci> TE.decodeUtf8 $ TE.encodeUtf8 "test - проба" "test - \1087\1088\1086\1073\1072"
Fedor
7
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Кто может подсказать? Я преобрпзовал изображение в бинарное(у меня установлен трекбар который при установленном значении меняет пиксели на белый если меньше и чёрный если боль...
Константин VS
6
Карта сайта