You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React函数式组件如何处理单选框组及编写对应的onChange处理函数

修正后完整实现代码

import { useState } from 'react';
import { Form } from 'react-bootstrap';

function YourComponent() {
  // 初始值设置为默认选中项的value,替换原布尔值
  const [radioOption, setRadioOption] = useState("All devices")

  // 从事件对象中获取选中值更新状态
  const handleRadioChange = (e) => {
    setRadioOption(e.target.value)
  }

  return(
    <>
      <Form.Group 
        inline 
        style={{
          display:'flex',  
          justifyContent:'space-between'
        }}
      >
        <Form.Radio
          onChange={handleRadioChange}
          value="All devices"
          label='All devices' 
          checked={radioOption === "All devices"}
        />

        <Form.Radio
          onChange={handleRadioChange}
          value='Mobile only'
          label='Mobile only'
          checked={radioOption === "Mobile only"}
        />

        <Form.Radio
          onChange={handleRadioChange}
          value='Desktop only'
          label='Desktop only'
          checked={radioOption === "Desktop only"}
        />
      </Form.Group>
    </>
  )
}

核心调整点

  • 修正state初始值:将原来的布尔类型初始值替换为默认选中项对应的value字符串,和单选框的value属性类型保持对齐
  • 完善onChange处理逻辑:通过事件对象e拿到当前触发选中的单选框value,直接更新到状态中即可
  • 切换为受控组件模式:删除defaultChecked属性,改用checked属性绑定状态判断逻辑,让单选框的选中状态完全由React state托管,避免状态不同步问题

内容的提问来源于stack exchange,提问作者Pruthvi mohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:15:04