组件间的关系
继续参考之前的代码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
欢迎转发和评论!