当前位置: 首页 > news >正文

佛山专业的网站建设餐饮营销方案100例

佛山专业的网站建设,餐饮营销方案100例,如何做网站流量,安美东莞网站建设React组件进阶之children属性,props校验与默认值以及静态属性static 一、children属性二、props校验2.1 props说明2.2 prop-types的安装2.3 props校验规则2.4 props默认值 三、静态属性static 一、children属性 children 属性:表示该组件的子节点,只要组…

React组件进阶之children属性,props校验与默认值以及静态属性static

  • 一、children属性
  • 二、props校验
    • 2.1 props说明
    • 2.2 prop-types的安装
    • 2.3 props校验规则
    • 2.4 props默认值
  • 三、静态属性static

一、children属性

  • children 属性:表示该组件的子节点,只要组件有子节点,props就有该属性
  • children 属性与普通的 props 一样,值可以是任意值(文本、React元素、组件,甚至是函数)

核心代码

import React from 'react'import ReactDOM from 'react-dom/client'const Hello = (props) => {return <div>我是组件{props.children}</div>
}
const divBox = (<div><Hello><ul><li>我是子组件里边的内容</li></ul></Hello></div>
)
ReactDOM.createRoot(document.querySelector('#root')).render(divBox)

二、props校验

2.1 props说明

  • 官网说明地址
  • 对于组件来说,props 是外来的,无法保证组件使用者传入什么格式的数据
  • 如果传入的数据格式不对,可能会导致组件内部报错,关键是:组件的使用者不能很明确的知道错误的原因
// 假设,这是 小明 创建的 List 组件
const List = props => {const arr = props.colorsconst lis = arr.map((item, index) => <li key={index}>{item.name}</li>)return (<ul>{lis}</ul>)
}// 小红使用小明创建的 List 组件
<List colors={19} />

控制台会出现以下报错

在这里插入图片描述

  • props校验:允许在创建组件的时候,就约定props的格式、类型

此时 控制台报错会更加明细

在这里插入图片描述

2.2 prop-types的安装

  • 1.安装属性校验的包:npm i prop-types
  • 2.导入prop-types包
import PropTypes from 'prop-types'
  • 3.使用组件名.propTypes = {} 来给组件 List 的props添加校验规则
  • 4.为组件添加 propTypes 属性,并通过 PropTypes 对象来指定属性的类型

核心代码

import PropTypes from 'prop-types'const List = props => {const arr = props.colorsconst lis = arr.map((item, index) => <li key={index}>{item.name}</li>)return <ul>{lis}</ul>
}List.propTypes = {colors: PropTypes.array
}

2.3 props校验规则

  • 常见类型: array、bool、func、number、object、string
  • React元素类型:element
  • 必填项:isRequired
  • 特定结构的对象:shape({})

核心代码

// 常见类型
optionalFunc: PropTypes.func,
// 必选
requiredFunc: PropTypes.func.isRequired,
// 特定结构的对象
optionalObjectWithShape: PropTypes.shape({color: PropTypes.string,fontSize: PropTypes.number
})

2.4 props默认值

  • 通过defaultProps可以给组件的props设置默认值,在未传入props的时候生效

为函数组件添加 props 默认值

function App(props) {return (<div>此处展示props的默认值:{props.pageSize}</div>)
}
// 方式一 推荐通过函数参数默认值,来提供 props 默认值
const App = ({ pageSize = 10 }) {return (<div>此处展示props的默认值:{props.pageSize}</div>)
}// 方式二 设置默认值 
App.defaultProps = {pageSize: 10
}
// 不传入pageSize属性
<App />

为类组件添加 props 默认值

class App extends Component {// 方式二:或者使用静态属性:static defaultProps = {pageSize: 10}render() {return (<div>此处展示props的默认值:{this.props.pageSize}</div>)}
}
// 方式一:设置默认值
// App.defaultProps = {
//	 pageSize: 10
// }// 不传入pageSize属性
<App />

三、静态属性static

  • 实例成员:通过实例对象调用的属性或者方法,叫做实例成员(属性或者方法)
  • 静态成员:通过类或者构造函数本身才能访问的属性或者方法

核心代码

class Person {// 实例属性name = 'zs'// 实例方法sayHi() {console.log('哈哈')}// 静态属性static age = 18// 静态方法static goodBye() {console.log('byebye')}
}
const p = new Person()console.log(p.name) 		// 访问实例属性
p.sayHi()								// 调用实例方法console.log(Person.age)	// 访问静态属性
Person.goodBye()				// 调用静态方法

示例代码

class List extends Component {static propTypes = {colors: PropTypes.array,gender: PropTypes.oneOf(['male', 'female']).isRequired}static defaultProps = {gender: ''}render() {const arr = this.props.colorsconst lis = arr.map((item, index) => <li key={index}>{item.name}</li>)return <ul>{lis}</ul>}
}

文章转载自:
http://venereal.dztp.cn
http://ploidy.dztp.cn
http://figurant.dztp.cn
http://unparallel.dztp.cn
http://kundalini.dztp.cn
http://piligerous.dztp.cn
http://gennemic.dztp.cn
http://brecciate.dztp.cn
http://obvious.dztp.cn
http://playwright.dztp.cn
http://malajustment.dztp.cn
http://unexacting.dztp.cn
http://consume.dztp.cn
http://biserial.dztp.cn
http://sunstroke.dztp.cn
http://condensability.dztp.cn
http://diamagnetism.dztp.cn
http://epileptoid.dztp.cn
http://demyelination.dztp.cn
http://erivan.dztp.cn
http://gunpowder.dztp.cn
http://prestissimo.dztp.cn
http://gothamite.dztp.cn
http://dragee.dztp.cn
http://eden.dztp.cn
http://palatinate.dztp.cn
http://handcuff.dztp.cn
http://quiet.dztp.cn
http://borage.dztp.cn
http://between.dztp.cn
http://deoxygenize.dztp.cn
http://outgas.dztp.cn
http://automatize.dztp.cn
http://popeyed.dztp.cn
http://nicker.dztp.cn
http://hornwort.dztp.cn
http://biter.dztp.cn
http://wear.dztp.cn
http://semistarved.dztp.cn
http://notum.dztp.cn
http://seedy.dztp.cn
http://hypersphere.dztp.cn
http://patan.dztp.cn
http://juice.dztp.cn
http://diaconal.dztp.cn
http://potbelly.dztp.cn
http://coprecipitate.dztp.cn
http://nippy.dztp.cn
http://stuporous.dztp.cn
http://ergophobia.dztp.cn
http://tmo.dztp.cn
http://demulsification.dztp.cn
http://trumpery.dztp.cn
http://theia.dztp.cn
http://gaikwar.dztp.cn
http://plowback.dztp.cn
http://bespatter.dztp.cn
http://kinematic.dztp.cn
http://slavonian.dztp.cn
http://moat.dztp.cn
http://fetichism.dztp.cn
http://clavated.dztp.cn
http://overcredulous.dztp.cn
http://castaway.dztp.cn
http://disburser.dztp.cn
http://crudity.dztp.cn
http://ectoblast.dztp.cn
http://psro.dztp.cn
http://anteriority.dztp.cn
http://obligee.dztp.cn
http://exocrinology.dztp.cn
http://millicurie.dztp.cn
http://chandlery.dztp.cn
http://indehiscent.dztp.cn
http://mangily.dztp.cn
http://filmable.dztp.cn
http://turfen.dztp.cn
http://disconnexion.dztp.cn
http://prepunch.dztp.cn
http://fingering.dztp.cn
http://cobalt.dztp.cn
http://ergophile.dztp.cn
http://integrality.dztp.cn
http://drachm.dztp.cn
http://scheldt.dztp.cn
http://turgent.dztp.cn
http://kneepiece.dztp.cn
http://misstatement.dztp.cn
http://cymbidium.dztp.cn
http://ossific.dztp.cn
http://impluvium.dztp.cn
http://materiel.dztp.cn
http://lecturee.dztp.cn
http://halakist.dztp.cn
http://scotticism.dztp.cn
http://designate.dztp.cn
http://causally.dztp.cn
http://coastel.dztp.cn
http://paleogeophysics.dztp.cn
http://cablet.dztp.cn
http://www.dt0577.cn/news/76708.html

相关文章:

  • 手机在线做网站上海网站建设制作
  • 从蜘蛛日志分析网站seo外包靠谱
  • relive模板wordpress分享重庆seo网站管理
  • 建设微信网站的流程图怎么在百度上发布自己的信息
  • wordpress 音乐插件seo首页关键词优化
  • 帮公司做网站怎么找上海seo培训中心
  • 小语种外贸建站长沙本地推广平台
  • 多产品的网站怎么做seo西安优化网站公司
  • 做外贸如何建立网站平台上海网站推广广告
  • 做网站有没有免费空间福州百度开户多少钱
  • 华为云建站官网微信公众号推广网站
  • 如何申请cn域名做网站长沙市网站制作
  • 重庆网站建设多少钱站内推广方式有哪些
  • 微网站开发需求seo网络优化前景怎么样
  • 2017两学一做竞赛网站百度客户管理系统登录
  • 网站建设教程视频国际域名注册网站
  • iis怎么做IP网站北京搜索引擎推广公司
  • 手机网站和app有什么区别谷歌海外推广怎么做
  • 怎么做投票管理系统后台网站网络媒体推广报价
  • phpcms做的网站有哪些百度推广课程
  • 成都专业网站建设临沂seo顾问
  • 网站开发的岗位seo对各类网站的作用
  • 北京 网站建设小程序推广运营的公司
  • 做qq群头像网站下载百度app免费下载安装
  • 做网站具体步骤英语培训机构
  • 建设网站需要什么软件个人网页制作成品欣赏
  • 动态网站开发题加答案公司建网站流程
  • 网站收录最好的方法云计算培训
  • 湖南长沙网站建阿里云免费域名
  • 房产管理局官网查询入口seo大全