没有合适的资源?快使用搜索试试~ 我知道了~
react不同组件通信1


试读
15页
需积分: 0 0 下载量 135 浏览量
更新于2022-08-08
收藏 144KB DOCX 举报
react不同组件通信1

React 组件之间传值
标签: React 组件传值交互
2016-03-21 10:07 9554 人阅读 评论(0) 收藏 举报
本文章已收录于:
React 知识库
分类:
>>React
(39)
目录(?)[+]
前言
今天群里面有很多都在问关于 React 组件之间是如何通信的问题,之前自己写的时候也遇
到过这类问题。下面是我看到的一篇不错英文版的翻译,看过我博客的人都知道,我翻译可
能不会按部就班,会尽可能用中文的意思,来将作者要讲述的技术描述清楚。英文能力有限,
如果有不对的地方请跟我留言,一定修改……^_^
原著序
处理 React 组件之间的交流方式,主要取决于组件之间的关系,然而这些关系的约定人就
是你。
我不会讲太多关于 data-stores、data-adapters 或者 data-helpers 之类的话题。我下
面只专注于 React 组件本身的交流方式的讲解。
React 组件之间交流的方式,可以分为以下 3 种:
� 【父组件】向【子组件】传值;
� 【子组件】向【父组件】传值;
� 没有任何嵌套关系的组件之间传值(PS:比如:兄弟组件之间传值)
一、【父组件】向【子组件】传值
初步使用
这个是相当容易的,在使用 React 开发的过程中经常会使用到,主要是利用 props 来进
行交流。例子如下:

// 父组件
var MyContainer = React.createClass({
getInitialState: function () {
return {
checked: true
};
},
render: function() {
return (
<ToggleButton text="Toggle me" checked={this.state.checked}
/>
);
}
});
// 子组件
var ToggleButton = React.createClass({
render: function () {
// 从【父组件】获取的值
var checked = this.props.checked,
text = this.props.text;
return (
<label>{text}: <input type="checkbox" checked={checked} />
</label>
);
}
});
进一步讨论

如果组件嵌套层次太深,那么从外到内组件的交流成本就变得很高,通过 props 传递值的
优势就不那么明显了。(PS:所以我建议尽可能的减少组件的层次,就像写 HTML 一样,
简单清晰的结构更惹人爱)
// 父组件
var MyContainer = React.createClass({
render: function() {
return (
<Intermediate text="where is my son?" />
);
}
});
// 子组件 1:中间嵌套的组件
var Intermediate = React.createClass({
render: function () {
return (
<Child text={this.props.text} />
);
}
});
// 子组件 2:子组件 1 的子组件
var Child = React.createClass({
render: function () {
return (
<span>{this.props.text}</span>
);
}
});
剩余14页未读,继续阅读
资源推荐
资源评论
144 浏览量
138 浏览量

144 浏览量
155 浏览量
2025-08-07 上传
160 浏览量
2019-08-14 上传
2020-12-04 上传
155 浏览量
138 浏览量
127 浏览量
2019-08-15 上传
199 浏览量
2021-01-19 上传
2024-03-20 上传
108 浏览量
2023-11-07 上传
112 浏览量
资源评论


三更寒天
- 粉丝: 2480
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 微信小程序MD5加密(支持中文).zip
- [贵州]某机场扩建工程监理大纲(停机坪-滑行道-技术标).doc
- 污水厂在线仪表维护方案.doc
- 基础(桩)工程施工承包合同(分包合同).doc
- 第四大题-市场战略.doc
- 销售人员的薪酬设计.doc
- 工程案例分析教案.doc
- 如何给予积级的反馈.doc
- 建设工程委托监理合同补充协议.doc
- 公司综合大楼工程监理规划.doc
- 小程序转换器,基于支付宝_微信小程序, 轻松地转换成其它平台的小程序。(1).zip
- 微信小程序刻度尺组件.zip
- 2016年中学学生宿舍楼新建工程招标文件.doc
- 高层住宅楼工程施工进度计划管理措施.doc
- 电路分析填空题.docx
- FIDIC施工合同条件.ppt
安全验证
文档复制为VIP权益,开通VIP直接复制
