当前位置: 首页 > news >正文

react 中组件如何进行数据传值?

在 React 中,组件之间的数据传递方式取决于它们的关系(父子、兄弟、跨层等)。下面是最常见的几种传值方式

一、父组件 → 子组件(最常见,用 props)

父组件通过 props 向子组件传值。
// 父组件
function Parent() {const name = '张三';return <Child userName={name} />;
}// 子组件
function Child(props) {return <div>你好,{props.userName}</div>;
}

这是单向数据流:数据只能由父传子。

二、子组件 → 父组件(用回调函数)

父组件定义函数,通过 props 传给子组件,子组件再调用它回传数据。
// 父组件
function Parent() {const handleReceive = (data) => {console.log('子组件传来的数据:', data);};return <Child onSend={handleReceive} />;
}// 子组件
function Child({ onSend }) {const sendData = () => {onSend('Hello from Child');};return <button onClick={sendData}>点击传值给父组件</button>;
}

这是 React 推荐的 自下而上通信 方式。

三、兄弟组件之间(通过共同的父组件)

让父组件作为“中转站”。
function Parent() {const [message, setMessage] = useState('');return (<><ChildA onChange={setMessage} /><ChildB msg={message} /></>);
}function ChildA({ onChange }) {return <button onClick={() => onChange('来自A的消息')}>发送给B</button>;
}function ChildB({ msg }) {return <div>收到消息:{msg}</div>;
}

数据由 A 传给父组件,再由父组件传给 B。

四、跨层级传值(Context 上下文)

使用 React.createContext() 提供全局数据。
// 创建上下文
const UserContext = React.createContext();// 顶层组件
function App() {const user = { name: '张三' };return (<UserContext.Provider value={user}><Child /></UserContext.Provider>);
}// 任意层子组件
function Child() {const user = React.useContext(UserContext);return <div>你好,{user.name}</div>;
}

Context 适合主题、语言、用户信息等“全局共享数据”。

五、全局状态管理(Redux / Zustand / Recoil 等)

适用于复杂项目、多组件共享数据。
// Redux / Zustand / Jotai / Recoil 都可以实现全局状态共享。

这类库让任意组件都能读写同一份状态。

总结

场景 推荐方式
父 → 子 props
子 → 父 回调函数
兄弟组件 通过父组件中转
多层级传递 Context
全局共享状态 Redux / Zustand 等
http://www.gsyq.cn/news/38205.html

相关文章:

  • 2025年有实力的水秀音乐喷泉品牌厂家排行榜
  • 2025年芳碳混编布厂家推荐:五家芳碳混编布精品定制源头厂家权威测评
  • 2025年11月数控加工中心源头工厂推荐榜:质量好耐用厂家排行
  • 2025年比较好的智能爬杆挂面机厂家选购指南与推荐
  • 2025年11月商务办公复印纸源头工厂推荐榜:靠谱专业厂家排行
  • 2025年质量好的中草药粉碎机厂家推荐及选择参考
  • 2025年比较好的pvd真空表面处理厂家实力及用户口碑排行榜
  • CompletableFuture 从入门到精通:完整案例大全
  • 2025年淮星复印纸:深度解析性价比背后供应链与质量博弈
  • 2025年淮星复印纸:深度解析其性价比优势与潜在局限
  • 2025年靠谱的康明斯发电机组厂家推荐及选购参考榜
  • 2025年比较好的烘干除湿机厂家推荐及选购指南
  • 2025年11月太空舱出口销售厂家推荐榜:热门优质厂家排名前五评价
  • 2025年比较好的饮料卫生级阀门厂家最新实力排行
  • 2025年热门的专用定制床垫TOP实力厂家推荐榜
  • 2025年11月太空舱民宿源头工厂评价榜单:正规厂家排行一览
  • 2025年口碑好的台球桌台布厂家最新权威推荐排行榜
  • 2025年有实力透明封箱胶带行业内口碑厂家排行榜
  • 2025年口碑好的高保鲜贴体膜行业内知名厂家排行榜
  • 2025年11月太空舱原材料供应厂家推荐榜:专业实力排行评测
  • 2025年耐用的铠装变形缝厂家推荐及选择指南
  • 2025年比较好的江苏保安公司品质服务榜
  • 2025年11月太空舱铝板源头厂家排名:优质耐用选哪家全评测
  • 2025年11月睡眠太空舱源头厂家评测榜:安全诚信排行前五强有哪些
  • 2025年质量好的变流器高压直流继电器厂家推荐及选择参考
  • 2025年11月燃气重卡厂家推荐榜:口碑耐用排行与节能实力对比
  • 2025 年 11 月铣刀厂家推荐排行榜,雕刻机铣刀,金刚石铣刀,木工铣刀,绝缘材料铣刀,碳纤维铣刀,亚克力铣刀,金属加工铣刀公司推荐!
  • 读浪潮将至04生命技术
  • 国产GPU龙头再启IPO!
  • C#中异常处理的使用例子 - 开源研究系列文章