У меня есть радиогруппа, которая прекрасно работает. В ту минуту, когда я перемещаю эту RadioGroup в ее собственную функцию - «выбор» не работает. Как будто компоненты не в состоянии полностью перерисовать. Это происходит, когда я присоединяю событие onChange
, которое использует хук состояния. Вы можете видеть здесь, радио 1 и 2 работают хорошо. Радиоприемники 3 и 4 этого не делают.
Код пользовательского интерфейса CodeSandbox Пример RadioBox
Вот компонент, который я использую. RadioGroup, которая НЕ включена в функцию, работает хорошо. Тот, который есть - он не «выбирает». Это означает, что черная точка не отображается в переключателе выбора.
function Demo(props) {
const [inputs, setInputs] = useState({});
const handleInputChange = event => {
event.persist();
setInputs(inputs => ({
...inputs,
[event.target.name]: event.target.value
}));
console.debug(`${event.target.name}: ${event.target.value}`);
};
const NotWorking = props => {
return (
<RadioGroup aria-label="two" name="two" row onChange={handleInputChange}>
<FormControlLabel
value="3"
control={<Radio color="primary" />}
label="3"
labelPlacement="end"
/>
<FormControlLabel
value="4"
control={<Radio />}
label="4"
labelPlacement="end"
/>
</RadioGroup>
);
};
return (
<React.Fragment>
<RadioGroup aria-label="one" name="one" row onChange={handleInputChange}>
<FormControlLabel
value="1"
control={<Radio color="primary" />}
label="1"
labelPlacement="end"
/>
<FormControlLabel
value="2"
control={<Radio />}
label="2"
labelPlacement="end"
/>
</RadioGroup>
<NotWorking />
</React.Fragment>
);
}
Помощь будет принята с благодарностью.