react----父子组件之间的参数传递

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

 1 //父组件
 2 import React from ‘react‘;
 3 import ‘./header.css‘
 4 import ComponentChild from ‘./headerChild‘
 5 class ComponentHeader extends React.Component {
 6   constructor () {
 7     super()
 8     this.state = {
 9       username: ‘Song‘,
10       age: 18
11     }
12   }
13   render () {
14     return (
15       <div>
16         <ComponentChild name="dongdong"/>//子组件
17         <p>这是一个测试组件</p>
18         <p>{this.state.age}</p>
19       </div>
20     )
21   }
22 }
23 export default ComponentHeader
24
25 //子组件
26 import React from ‘react‘
27 class ComponentChild extends React.Component {
28   render () {
29     return (
30       <div>
31         <p>{this.props.name}</p>//通过this.props.key来过去父组件传递过来的数据
32       </div>
33     )
34   }
35 }
36 export default ComponentChild

2.子组件向父组件传递参数

 1 //子组件
 2 import React from ‘react‘
 3 class ComponentChild extends React.Component {
 4   render () {
 5     return (
 6       <div>
 7         <button>点击测试:<input type="text" onChange={this.props.handleChange}/></button>//通过函数的形式将参数传递给父组件
 8         <p>{this.props.name}</p>
 9       </div>
10     )
11   }
12 }
13 export default ComponentChild
14
15 //父组件
16 import React from ‘react‘;
17 import ‘./header.css‘
18 import ComponentChild from ‘./headerChild‘
19 class ComponentHeader extends React.Component {
20   constructor () {
21     super()
22     this.state = {
23       username: ‘Song‘,
24       age: 18
25     }
26   }
27   handleChange (event) { // 这个函数是可以用来获取子组件传递过来的数据
28     this.setState({age:event.target.value})//使用setState将子组件传递过来的值,设置给父组件中的state
29   }
30   render () {
31     return (
32       <div>
33         <ComponentChild handleChange={this.handleChange.bind(this)} name="dongdong"/> //这里注意一定要使用bind(this)改变this的指向,否则会报错,显示找不到this
34         <p>这是一个测试组件</p>
35         <p>{this.state.age}</p>
36       </div>
37     )
38   }
39 }
40 export default ComponentHeader

这里面注意一点,state是属于组件的私有属性的,props属于外来属性

时间: 2024-08-05 19:28:12

react----父子组件之间的参数传递的相关文章

React父子组件之间的对话

父组件中引入子组件button,通过ref将组件绑定到父组件上,如果是公用模块,可以直接绑定最外层layout层. <Button cb={() => {console.log('todo something')}} text='下一步' bgArray={['#CDCDCD', '#73B2E6', '#0677DA']} ref={(button) => { this.button = button; }} ></Button> 子组件中暴露外部调用方式,供外部来改

React 组件基本使用(3) ---父子组件之间的通信

当有多个组件需要共享状态的时候,这就需要把状态放到这些组件共有的父组件中,相应地,这些组件就变成了子组件,从而涉及到父子组件之间的通信.父组件通过props 给子组件传递数据,子组件则是通过调用父组件传给它的函数给父组件传递数据. 很简单的一个例子,我们在输入框中输入温度,输入框下面显示冷和热.这里就有两个组件,输入框和它下面的显示内容,且它们共享一个状态,就是温度.所以我们要把温度这个状态放到这两个组件的父组件中.这里就有三个组件,一个输入框TemperatureInput,  一个是显示内容

vue之父子组件之间的通信方式

(一)props与$emit <!-这部分是一个关于父子组件之间参数传递的例子--> <!--父组件传递参数到子组件是props,子组件传递参数到父组件是用事件触发$emit--> <!OCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <sccipt src="js/vue.js" t

Vue组件~父子组件之间的通信(传值)

1.父组件向子组件传参 父组件中通过v-bind对要传参数的绑定:(例如) :dataSourceName:是在子组件中要用到的值 "ctpSaveEchartSetting.dataSourceId":是在父组件中要传的值 子组件中的接收通过props(数据值单项绑定的)进行接收:(例如) 注:在props中有的变量就不能再data中再定义,或通过监测.计算属性直接去改变,因为js中的对象和数组是引用对象,指向同一个内存空间,如果在子组件中改变props中的值会影响到父组件中的值的状

【转】vue父子组件之间的通信

vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不同情况下又各有不同.最常见的就是父组件为控制组件子组件为视图组件.父组件传递数据给子组件使用,遇到业务逻辑操作时子组件触发父组件的自定义事件.无论哪种组织方式父子组件的通信方式都是大同小异. 父组件到子组件通讯 父组件到子组件的通讯主要为:子组件接受使用父组件的数据,这里的数据包括属性和方法(String,Number,Boolean,Object, Array ,Function).v

React 父子组件和非父子组件传值

零.this.props 可以接收到 外界的传值 和 此组件标签内部自定义的方法 例: <one vals={message} sendVal={this.handleReverse.bind(this)}></one> 此时在子组件中打印this.props this.props = { vals : '**', sendVal : fn } 由此我们可以进行父子组件之间传值 一.父传子 在子组件标签中用自定义属性进行传递,接收的时候通过this.props进行接收 /* 父组件

React(7) --react父子组件传参

react父子组件传参 父级向子级传参:在父组件中,我们引入子组件,通过给子组件添加属性,来起到传参的作用,子组件可以通过props获取父组件传过来的参数. 在父组件中: import React from 'react' import ChildCom from './childCom.js' class ParentCom extends React.Component { render() { return ( <div> <h1>父组件</h1> <Chi

react父子组件传值

react均是以组件构成,那父子组件传值就很重要了 父组件传值给子组件,不仅可以传值,传事件,还可以传实例 1.父组件传值给子组件 传值 父组件: import React from 'react'; import Children from './Children'; class Father extends React.Component { constructor(props) { super(props); this.state = { msg:'父组件的msg' }; } render

vue 学习五 深入了解components(父子组件之间的传值)

上一章记录了 如何在父组件中向子组件传值,但在实际应用中,往往子组件也要向父组件中传递数据,那么此时我们应该怎么办呢 1.在父组件内使用v-on监听子组件事件,并在子组件中使用$emit传递数据 //父组件 <template> <div id="home"> <com test='12345' test2='1213232111111' @a_even="a_even"></com> //使用v-on监听子组件事件

vue.js学习笔记(4)— 父子组件之间通信的第一种方式 props 和 $emit

我们知道,vue组件中,父组件把数组传递给子组件的话,通常是使用props传递,而vue规定,prop是只能单向下行传递的,那么子组件要怎么才能实现数据的向上传递呢,这里引述一个概念:"父子组件的关系:prop向下传递,事件向上传递",上一篇文章当中,关于数据向上传递用到的事件方法 $emit() 也进行了详细的说明,不懂的童鞋可以翻回去看一下.下面就是今天要说的父子组件相互通信的问题,点击效果依次如下: 代码如下: <!DOCTYPE html> <html>