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

React 组件通信

1.从父组件向子组件传递参数:

父组件可以通过props将数据传递给子组件。子组件通过接收props来获取这些数据。

// 父组件
const ParentComponent = () => {const data = 'Hello, Child!';return <ChildComponent childData={data} />;
};
​
// 子组件
const ChildComponent = ({ childData }) => {return <div>{childData}</div>;
};

2、避免直接修改父组件的props:

子组件不应该直接修改从父组件传递过来的props。如果需要更新数据,应该通过父组件来管理状态,并通过回调函数将更新后的数据传递给子组件。

// 父组件
const ParentComponent = () => {const [data, setData] = useState('Hello, Child!');const handleUpdateData = (newData) => {setData(newData);};return <ChildComponent childData={data} onUpdateData={handleUpdateData} />;
};
​
// 子组件
const ChildComponent = ({ childData, onUpdateData }) => {const handleButtonClick = () => {onUpdateData('New Data');};return (<div><div>{childData}</div><button onClick={handleButtonClick}>Update Data</button></div>);
};

3.使用回调函数传递参数:

当你需要从子组件向父组件传递参数时,可以使用回调函数作为props传递给子组件。子组件通过调用这个回调函数来传递数据。

// 父组件
const ParentComponent = () => {const [data, setData] = useState('Initial Data');return <ChildComponent onChildDataChange={setData} />;
};
​
// 子组件
const ChildComponent = ({ onChildDataChange }) => {const handleDataChange = (newData) => {onChildDataChange(newData);};return <button onClick={() => handleDataChange('New Data')}>Change Data</button>;
};

http://www.lryc.cn/news/358998.html

相关文章:

  • 【再探】设计模式—访问者模式、策略模式及状态模式
  • 新人硬件工程师,工作中遇到的问题list
  • 如何在Linux系统中搭建Zookeeper集群
  • C++:vector的模拟实现
  • QT系列教程(5) 模态对话框消息传递
  • Linux学习笔记(清晰且清爽)
  • 2.5Bump Mapping 凹凸映射
  • 数字化前沿:Web3如何引领未来技术演进
  • 【kubernetes】探索k8s集群的存储卷、pvc和pv
  • UI线程和工作线程
  • RandLA-Net 训练自定义数据集
  • 洛谷 B3642:二叉树的遍历 ← 结构体方法 链式前向星方法
  • 飞腾+FPGA多U多串全国产工控主机
  • uni-app实现页面通信EventChannel
  • 等保系列之——网络安全等级保护测评工作流程及工作内容
  • 自然语言处理中的BERT模型深度剖析
  • 数据结构:希尔排序
  • unicloud 云对象
  • 【车载开发系列】常用专业术语汇总
  • 如何实现Docker容器的自动化升级:不再为手动更新烦恼!
  • SwiftUI 5.0(iOS 17)进一步定制 TipKit 外观让撸码如虎添翼
  • 使用C#实现VS窗体应用——画图板
  • flutter 自定义本地化-GlobalMaterialLocalizations(重写本地化日期转换)
  • HTTPS 原理技术
  • Linux基础指令及其作用之压缩与解压
  • ORA-08189: 因为未启用行移动功能, 不能闪回表问题
  • html+CSS部分基础运用9
  • 五大元素之一,累不累——Java内部类
  • YAML快速编写示例
  • 2024 江苏省大学生程序设计大赛 2024 Jiangsu Collegiate Programming Contest(FGKI)