我创建了radio,并从useState(gender)设置了defaultValue。问题是这个选项在请求之前设置了defaultValue,所以它不能正确工作。我想我可以使用价值 prop ,但我不知道如何使用。
<Controller
control={control}
name="gender"
defaultValue="1"
render={({ field }) => (
<FormControl>
<FormLabel id="demo-radio-buttons-group-label">
Gender
</FormLabel>
<RadioGroup
aria-labelledby="demo-radio-buttons-group-label"
value={field.value}
onChange={(value) => {
field.onChange(value);
}}
name="radio-buttons-group"
>
<FormControlLabel
value={gender}
control={<Radio />}
label="Female"
/>
<FormControlLabel
value="2"
control={<Radio />}
label="Male"
/>
</RadioGroup>
</FormControl>
)}
/>
如何从后端设置默认值?
1条答案
按热度按时间cqoc49vn1#
每次设置状态或更改 prop 时,组件都会重新呈现。在你的特殊情况下,你需要在渲染前装载状态
代码会像这样:
当抓取完成时,加载状态将改变,它将重新呈现一个组件,而不是返回
<p>Loading...</p>
,它将返回您的<Controller/>
**重要:**如果你在react中有加载状态,它应该总是以true值开始。如果你以false开始,你将有问题和unesarry重新呈现。我看到人们这样做。