`
孤独水寒cbq
  • 浏览: 15688 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

React 入门及组件之间传值

阅读更多

       最近,有一个很火的前端框架--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还有一些基本应用,待后续追加介绍。

 

    

分享到:
评论
1 楼 孤独水寒cbq 2018-12-12  
如有疑问,可以留言

相关推荐

    10 React中的组件、父子组件、React props父子组件传值、、父组件中通过refs获取子组件属性和方法

    10 React中的组件、父子组件、React props父组件给子组件传值、子组件给父组件传值、父组件中通过refs获取子组件属性和方法(34分3秒)

    React传值 组件传值 之间的关系详解

    React中组件之间的传值机制是构建复杂应用的关键。通过props的单向数据流,组件可以安全、高效地传递数据。父组件向子组件传值简单直接,而子组件向父组件传值则需要通过父组件传递的回调函数实现。非嵌套的组件间...

    React父子组件间的传值的方法

    这里主要讨论的是父子组件之间的数据传递。根据提供的代码,我们可以看到两种主要的父子组件间通信方式:父组件向子组件传值和子组件向父组件传值。 **1. 父组件向子组件传值** 在React中,父组件向子组件传递数据...

    React 子组件向父组件传值的方法

    React 子组件向父组件传值的方法 React 中,子组件向父组件传值是一种常见的需求,例如在表单提交时,子组件需要将输入的数据传递给父组件,以便父组件可以对数据进行处理和展示。那么,如何实现 React 子组件向父...

    Vue和React组件之间的传值方式详解

    在现代的三大框架中,其中两个Vue和React框架,组件间传值方式有哪些? 组件间的传值方式 组件的传值场景无外乎以下几种: 父子之间 兄弟之间 多层级之间(孙子祖父或者更多) 任意组件之间 父子之间 Vue Vue是...

    react 组件传值的三种方法

    React组件之间传值是构建复杂应用时不可或缺的一部分,它涉及到父子组件之间、以及非直接关联的组件之间的数据传递。本文将详细探讨React中组件传值的三种常见方法:通过Props传值、回调函数以及利用父组件作为中间...

    React 入门实例教程

    React 入门实例教程React 入门实例教程React 入门实例教程React 入门实例教程

    react入门学习文档

    React入门学习文档 React 是一个用于构建用户界面的 JavaScript 库,是一个数据驱动的 MVVM 模式的框架。学习 React 需要了解其主要特点、JSX 元素渲染、生命周期、组件事件等知识点。 React 介绍 React 是一个...

    详解React中传入组件的props改变时更新组件的几种实现方法

    我们使用react的时候常常需要在一个组件传入的props更新时重新渲染该组件,常用的方法是在componentWillReceiveProps中将新的props更新到组件的state中(这种state被成为派生状态(Derived State)),从而实现重新...

    在React 组件中使用Echarts的示例代码

    在 React 组件中使用 Echarts 的示例代码是非常重要的,特别是在需要可视化数据的时候。Echarts 是一个功能强大且灵活的数据可视化库,它提供了多种类型的图表,包括柱状图、折线图、饼状图等。下面将详细介绍在 ...

    react入门实践案例

    本实践案例将带你逐步了解并掌握React的基础知识,让你能够快速入门React开发。 一、React组件化开发 React的核心思想是组件化,它将复杂的UI拆分成独立、可复用的组件。每个组件都有自己的状态和属性,可以独立...

    React中文入门教程 pdf 下载

    ### React中文入门教程知识点概述 #### 一、React概览 **React** 是一个用于构建用户界面的JavaScript库,特别适合于构建复杂且交互频繁的Web应用。React的核心优势在于其虚拟DOM技术,使得更新界面变得高效且流畅...

    React 懒加载组件

    开箱即用 React 懒加载组件

    react-React水印组件支持图片水印文字水印

    "react-watermark-module" 是一个专为此设计的React组件,它允许开发者轻松集成图片水印和文字水印功能。下面将详细阐述这个组件的核心特点、用法以及如何在实际项目中应用。 一、核心特点 1. **灵活性**:react-...

    react(react18)组件通信的各种方式以及各种详细例子(含react-redux + redux-toolkit)

    1. React(react18)中组件通信...5. React(react18)中组件通信05——react-redux入门. 6. React(react18)中组件通信05——react-redux数据共享. 7. React(react18)中组件通信06——react-redux + redux- toolkit

    父组件向子组件传值.html

    父组件向子组件传值,无需导入js,直接使用浏览器访问即可查看Demo效果。 1.父组件向子组件传值可以在自定义标签处用“:模版-值=‘父组件中值’”,如 &lt;app_t_input :msg-t="msg"&gt;&lt;/app_t_input&gt; 2.而对应需要在子...

Global site tag (gtag.js) - Google Analytics