最近,有一个很火的前端框架--React,可谓万众瞩目。它的前身是FaceBook的内部项目,最后完善开源,贡献巨大,致敬。另外,国内淘宝基于react开源了ant design,功劳也不小,具体可参考Ant Design的官网:https://ant.design/docs/react/introduce。直奔主题,下面结合个人使用经验及网上查阅的一些资料,对其做简要介绍。希望对初学者有所帮助。
一、组件之间相互传值
1.子组件向父组件传值
//子组件
var ChildComment = React.createClass({
getInitialState: function () {
return {count:0};
},
//点击传值给父组件
sendTimes: function () {
var newCount = this.state.count + 1;
this.setState({ count:newCount });
//通过props调用父组件的方法
this.props.getClickCount(newCount);
},
render: function () {
return (
<button onClick={this.sendTimes}>{this.props.buttonName}</button>
);
}
});
//父组件
var ParentComponent = React.createClass({
getInitialState: function () {
return {sendCount:0};
},
getClickCount: function (newCount) {
this.setState({sendCount:newCount});
},
render: function () {
return (
<div>
<ChildComment getClickCount={this.getClickCount} buttonName="点我有惊喜"/>
<p>
共点击{this.state.sendCount}次!
</p>
</div>
);
}
});
2.父组件向子组件传值
//父组件
var ParentComponent = React.createClass({
getInitialState: function () {
return {sendCount:0};
},
//通过refs方式调用子组件的方法
sendTimes: function () {
this.refs.getCountButton.sendCountFunc();
},
getSendCount: function () {
//通过refs方式调用子组件的属性
this.setState({sendCount:this.refs.getCountButton.state.count + 1});
},
render: function () {
return (
<div>
//定义ref属性且值必须唯一
<ChildComment ref="getCountButton" getSendCount={this.getSendCount} buttonName="点我有惊喜"/>
<button onClick={this.sendTimes}>父组件调用子组件</button>
<p>
共点击{this.state.sendCount}次!
</p>
</div>
);
}
});
//子组件
var ChildComment = React.createClass({
getInitialState: function () {
return {count:0};
},
//点击调用
sendCountFunc: function () {
var newCount = this.state.count + 1;
this.setState({ count:newCount });
//通过props调用父组件的方法
this.props.getSendCount(newCount );
},
render: function () {
return (
<button onClick={this.sendCountFunc}>{this.props.buttonName}</button>
);
}
});
二、类似于get方式传参
JS中我们常常用get方式传参,如:http://www.baidu.com?param=123&type=3,在react中也可以如此传值,那接收页面如何取值呢?看下面:
let query = this.props.location.query;
let param= query.param;
let type = query.type;
如上,可取出传递的参数。React还有一些基本应用,待后续追加介绍。
分享到:
相关推荐
10 React中的组件、父子组件、React props父组件给子组件传值、子组件给父组件传值、父组件中通过refs获取子组件属性和方法(34分3秒)
React中组件之间的传值机制是构建复杂应用的关键。通过props的单向数据流,组件可以安全、高效地传递数据。父组件向子组件传值简单直接,而子组件向父组件传值则需要通过父组件传递的回调函数实现。非嵌套的组件间...
这里主要讨论的是父子组件之间的数据传递。根据提供的代码,我们可以看到两种主要的父子组件间通信方式:父组件向子组件传值和子组件向父组件传值。 **1. 父组件向子组件传值** 在React中,父组件向子组件传递数据...
React 子组件向父组件传值的方法 React 中,子组件向父组件传值是一种常见的需求,例如在表单提交时,子组件需要将输入的数据传递给父组件,以便父组件可以对数据进行处理和展示。那么,如何实现 React 子组件向父...
在现代的三大框架中,其中两个Vue和React框架,组件间传值方式有哪些? 组件间的传值方式 组件的传值场景无外乎以下几种: 父子之间 兄弟之间 多层级之间(孙子祖父或者更多) 任意组件之间 父子之间 Vue Vue是...
React组件之间传值是构建复杂应用时不可或缺的一部分,它涉及到父子组件之间、以及非直接关联的组件之间的数据传递。本文将详细探讨React中组件传值的三种常见方法:通过Props传值、回调函数以及利用父组件作为中间...
React 入门实例教程React 入门实例教程React 入门实例教程React 入门实例教程
React入门学习文档 React 是一个用于构建用户界面的 JavaScript 库,是一个数据驱动的 MVVM 模式的框架。学习 React 需要了解其主要特点、JSX 元素渲染、生命周期、组件事件等知识点。 React 介绍 React 是一个...
我们使用react的时候常常需要在一个组件传入的props更新时重新渲染该组件,常用的方法是在componentWillReceiveProps中将新的props更新到组件的state中(这种state被成为派生状态(Derived State)),从而实现重新...
在 React 组件中使用 Echarts 的示例代码是非常重要的,特别是在需要可视化数据的时候。Echarts 是一个功能强大且灵活的数据可视化库,它提供了多种类型的图表,包括柱状图、折线图、饼状图等。下面将详细介绍在 ...
本实践案例将带你逐步了解并掌握React的基础知识,让你能够快速入门React开发。 一、React组件化开发 React的核心思想是组件化,它将复杂的UI拆分成独立、可复用的组件。每个组件都有自己的状态和属性,可以独立...
本文将深入探讨如何利用React组件实现这些功能,特别是基于名为"react-super-progress"的库。 React是Facebook推出的JavaScript库,专门用于构建用户界面,尤其是单页应用程序(SPA)。它引入了组件化的概念,允许...
### React中文入门教程知识点概述 #### 一、React概览 **React** 是一个用于构建用户界面的JavaScript库,特别适合于构建复杂且交互频繁的Web应用。React的核心优势在于其虚拟DOM技术,使得更新界面变得高效且流畅...
开箱即用 React 懒加载组件
1. React(react18)中组件通信...5. React(react18)中组件通信05——react-redux入门. 6. React(react18)中组件通信05——react-redux数据共享. 7. React(react18)中组件通信06——react-redux + redux- toolkit
"react-watermark-module" 是一个专为此设计的React组件,它允许开发者轻松集成图片水印和文字水印功能。下面将详细阐述这个组件的核心特点、用法以及如何在实际项目中应用。 一、核心特点 1. **灵活性**:react-...