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>;
};
相关推荐
OpenTiny社区2 分钟前
【直播分享】GenUI SDK 技术公开课第二讲 | GenuiChat 核心配置深度解析
前端·github
今日无bug13 分钟前
从0到1手撕流式输出:Vue3 + Vite 实现 LLM 流式响应全解析
前端·vue.js·vite
光影少年25 分钟前
react navite跨端项目的痛点、踩过哪些坑、怎么解决
前端·react native·react.js
默_笙34 分钟前
🧀 用户访问一个网站到底经历了什么?全栈部署的"城市观光"指南
前端·javascript
aixingpan35 分钟前
aixingpan.cn API开发文档:api_docs_trichart_natal_composite_transit2接口指南
前端·php
是立不是利37 分钟前
CSS 架构——在混乱中建立秩序
前端·html
用户094248568031 小时前
第3章:OpenJDK从源码到字节码——Class 文件与 javac 管线
java·jvm
两只羊ovo1 小时前
让 Agent 接上“万能接口”:LangChain + MCP 实战,工具不再锁死在项目里
前端
妙码生花1 小时前
使用git更新ai-go-admin框架
前端·人工智能·git·golang·typescript·php
YUJIANYUE1 小时前
查立得万用查分电脑版(web环境+查询系统免安装单文件一键运行包)
前端·jvm