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

Каким способом можно очистить выбор у радиокнопок при переходе к

следующему вопросу? (сейчас запоминает каждый предыдущий выбор)

24 ответов

11 просмотров

useEffect(()=>{clearShit()}, [questionId])

syntax.- Автор вопроса
Aidyno
useEffect(()=>{clearShit()}, [questionId])

визуально выбор остается все тем же

syntax.
визуально выбор остается все тем же

радрадиокнопки управляемы или как?

syntax.- Автор вопроса
syntax.- Автор вопроса
IceBerg
плохо

объясни

syntax.
объясни

в доке всё есть: https://ru.react.js.org/docs/forms.html#%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%8B%D0%B5-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B

syntax.
не понимаю о чем ты

Через реф хэндлишь или есть состояние для этой радиокнопки?

syntax.
есть состояние

Короч, лучше будет если в codesandbox.io запилишь нужный тебе код и отправишь сюда

syntax.- Автор вопроса
Aidyno
Короч, лучше будет если в codesandbox.io запилишь ...

могу описать, что мне нужно при выборе ответа на вопрос(по факту, нажатия на радиокнопку) и последующего нажатия на кнопку “подтвердить” переходить к следующему вопросу и очищать выбор у всех радиокнопок (делать у всех кнопок checked = false)

используй key и будет тебе счастье <Question key={nanoId()} />

No Name
используй key и будет тебе счастье <Question key=...

или <Question key={questionId} /> когда будет меняться questionId, то компонент Question будет рендерится по новой, то есть state будет изначально с дефолтными значениями

syntax.- Автор вопроса
syntax.- Автор вопроса
No Name
или <Question key={questionId} /> когда будет м...

еще бы сказать почему так 😭

No Name
why?(

потому что у тебя на каждом рендере будет генериться новый ключ

syntax.
еще бы сказать почему так 😭

react reconciliation, если значение родительского компонента обновилось, то происходит unmount, затем mount, react под коробкой создаёт копию дерева для сравнения прошлого компонента и текущего, он видит то что есть компонент <Question /> старого дерева и нового и не рендерит его по новой, так как визуально для него ничего не поменялось, react даёт возможность контролировать рендер компонента через key, по этому его важно указывать при map или следить за его уникальностью

No Name
react reconciliation, если значение родительского ...

в случае первого примера с nanoId, он будет собирать компонент Question каждый раз при рендере родителя, что не правильно, так что, лучше указывать явный идентификатор для key

syntax.- Автор вопроса
No Name
react reconciliation, если значение родительского ...

а если у меня компонент рендерится без map-a, то ключ не нужен?

syntax.
еще бы сказать почему так 😭

Ты это делаешь в рамках обучения? Почитай официальную документацию Там понятно описано, такую базу лучше сначала прочитать чем делать в слепую

syntax.
а если у меня компонент рендерится без map-a, то к...

нет, не нужен, но в твоём случае тебе нужно рендерить компонент что бы сбрасывать radio

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта