组件间的关系
继续参考之前的代码App.js
。
父子关系
App
是父,Header
和Home
相对于App
是子。
兄弟关系
Header
和Home
是兄弟关系。
父向子传值
父传值
父组件向子组件传值是父组件在调用子组件时,进行传值,以下两种方法都可以,App
向Header
传值,下边的代码是写在App.js
里的。
1 | <Header name={"Max"} age={"12"} user={user}/> |
1 | <Header name={"Max"} age={12} user={user}> |
这里使用第二种方法。
子使用值
子组件使用父组件传过来的值通过props
使用,例如:
1 | <div>your name is {this.props.name},your age is {this.props.age}</div> |
App.js
代码:注意第7行和16行
1 | import React, { Component } from 'react'; //固定写法 |
Header.js
代码:注意第6行和return
的内容
this.props
就是父组件传过来的值
1 | import React, { Component } from 'react'; //固定写法 |
参数类型检查
JS是动态语言。
在这里我们对App
传过来的值进行检查,理所当然要在Header
中检查。
在Header.js
中引入静态检查:
1 | import PropTypes from 'prop-types'; |
现在开始检查,设置Header
接收到的参数的类型:
1 | Header.propTypes={ |
其中children
是给Header
传参时Header
闭合标签里的东西。
最终Header.js
代码是这样:
1 | import React, { Component } from 'react'; //固定写法 |
作者:@臭咸鱼
本文为作者原创,转载请注明出处:https://chouxianyu.github.io
欢迎转发和评论!