React的 Props传递

使用 Props

image.png

默认 Props

--有时候我们需要在子组件中设置个默认值,这时候需要用到defaultProps 属性


image.png

父传子

1.先声明一个父组件


image.png

2.声明两个子组件


image.png

传值拦截验证

--在某种情况下,我们要接收的数据需要进行修改下,比如传入的数据必须是字符串,等等,我们可以用Props 验证使用 propTypes,当向 props 传入无效数据时,JavaScript 控制台会抛出警告。注意:前提是你必须引入,或者用脚手架了的话要先导入才能用

import PropTypes from 'prop-types'
// 子组件
class Child extends Component{
     render(){
       return (
         <div>{this.props.aaa}
         <hr/>
         {this.props.bbb}
         <hr/>
         {this.props.ccc}
         <hr/>
         {this.props.ddd}
         <hr/>
         </div>
       )
   }
}
//对传过来的props进行验证
//验证类型和是否必传
Child.propTypes = {
   // 传入aaa的类型必须为number(不传不会报错,仅仅是限制已传入的参数类型)
   aaa:PropTypes.number,
   //必须传入bbb
   bbb:PropTypes.isRequired,
   //必须传入ccc且类型必须为
   ccc:PropTypes.string.isRequired
}

//设置默认值,顺便把上面的默认提一下
Child.defaultProps = {
   ddd:"默认值"
}

----自己学习补充

属性名采用 camelCase 风格:
<Foo
  userName="hello"
  phoneNumber={12345678}
/>
如果属性为 true ,可以直接省略:
// bad
<Foo hidden={true} />

// good
<Foo hidden />
数组中或者遍历中输出相同的 React 组件,属性 key 必需,且不要使用 index 作为 key ,推荐使用唯一ID。
{todos.map(todo => (
  <Todo
    {...todo}
    key={todo.id}
  />
))}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 8,724评论 1赞 33
  • 以下内容是我在学习和研究React时,对React的特性、重点和注意事项的提取、精练和总结,可以做为React特性...
    科研者阅读 8,459评论 2赞 21
  • 在之前关于组件的文章当中已经对Props有所涉及!而本篇文章主要是对Props进行更加全面介绍!以及总结props...
    张培跃阅读 10,930评论 0赞 8
  • 40、React 什么是React?React 是一个用于构建用户界面的框架(采用的是MVC模式):集中处理VIE...
    萌妹撒阅读 1,245评论 0赞 1
  • Tips:在命令行操作这个命令过程中,如果出现以下的错误,不要紧张,可能是session已经失效,可以重新创建一个...
    嘿嘿_小于同学阅读 6,555评论 0赞 2

友情链接更多精彩内容