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

知名做网站的公司义务教育标准化建设网站

知名做网站的公司,义务教育标准化建设网站,厦门seo代理商,个人微商城怎么开通react 中的函数组件底层渲染原理 react组件没有局部与全局之分#xff0c;它是一个整体。这点跟vue的组件化是不同的。要实现 react 中的全局组件#xff0c;可以将组件挂在react上#xff0c;这样只要引入了react#xff0c;就可以直接使用该组件。 函数式组件的创建 …react 中的函数组件底层渲染原理 react组件没有局部与全局之分它是一个整体。这点跟vue的组件化是不同的。要实现 react 中的全局组件可以将组件挂在react上这样只要引入了react就可以直接使用该组件。 函数式组件的创建 创建一个函数函数中返回一个jsx或者jsx元素virtualdom。基于 es6 的模块导入导出方式将函数作为模块的导出.可以忽略后缀名。 Component / Component.../Component命名首字母大写大驼峰命名。小写字母开头编译器会认为这是一个标签编译器也会报错。 关于 props 属性的细节知识 函数组件不能使用this关键字。函数组件不能使用生命周期钩子。子组件的props属性不能直接修改。获取子组件的props属性需要使用props.xxx。 对象的冻结密封和不可扩展 被冻结的对象不能添加、删除或修改其属性。也不能劫持对象。Object.defineProperty方法不能修改这些属性。Object.isFrozen方法用来检测对象是否被冻结。被密封的对象的属性可以修改值但是不能添加、删除。但不能劫持对象。Object.isSealed方法用来检测对象是否被密封。不可扩展的对象除了不能新增成员其他操作都正常。Object.isExtensible方法用来检测对象是否可以扩展。 总结: 被冻结的对象既是不可扩展的也是密封的。被密封的也是不可扩展的。 所以我们在组件内部修改props属性时需要先拷贝一份然后才能修改。否则会报错。 组件的默认值 函数组件.defaultProps属性可以设置组件的默认值。 function Jsx({ name }) {return (divJsxhr /p{name}/p/div); }Jsx.defaultProps { name: zs22222222 }; export default Jsx;函数的类型校验 函数组件.propTypes属性可以设置组件的默认值。 需要我们安装prop-types库。 跟Component组件一样需要使用import导入。 import PropTypes from prop-types; Child.defaultProps { name: zs22222222, age: 18 }; Child.propTypes {name: PropTypes.string,age: PropTypes.oneOfType([PropTypes.number.isRequired,PropTypes.string,PropTypes.bool,]), };函数组件中的插槽处理 插槽的作用就是将父组件中的内容原封不动的传递给子组件。想办法让组件更加灵活具有更强的复用性 数据值用属性 html 片段用插槽 children 属性传递子组件的jsx元素,是数组的情况下要使用下面的方式来接收也可以使用React.Children里面的方法来进行处理 插槽内容可以根据不同的需求放到不同的位置。 静态组件和动态组件 function Vote() {function handleSubmit() {}function handleCancel() {}return (div classNamevote-boxdiv classNameheaderh2 classNametitle标题/h2span15人/span/divdiv classNamemainp支持人数: 10人/pp反对人数: 5人/p/divdiv classNamefooterbutton onClick{handleSubmit} classNamebtn btn-primary支持/buttonbutton onClick{handleCancel} classNamebtn btn-danger反对/button/div/div); } export default Vote;第一次渲染组件执行函数产生一个私有的上下文把解析出来的 props 包括 children 属性保存到上下文,并冻结了props属性不可修改。返回一个jsx元素的vdom。渲染jsx元素生成virtualdom。 当我们点击按钮再次渲染组件时 修改上下文中的变量私有作用于发生了变化但是视图不会更新。所以称为静态组件。 除非在父组件中修改了子组件的props属性才会重新渲染。 动态组件:实际项目中我们会遇到在第一次渲染组件完成后需要基于组件内部的状态变化让组件可以更新以呈现出不同的页面效果。 动态组件(class 组件hooks 组件) 2、 初始化状态 状态:后期修改状态可以触发视图的更新 需要手动初始化如果我们没有去做相关的处理则默认会往实例上挂载一个state初始值是null this,statenull 手动处理: state {xxx:xxx }修改状态控制视图更新this.state.xxxxxx :这种操作仅仅是修改了状态值但是无法让视图更新想让视图更新我们需要基于React.Component.prototype提供的方法操作:「推荐」 1 this.setstate(partialstate)既可以修改状态也可以让视图更新partialstate:部分状态 this.setstate({xxx:xxx })2 this.forceUpdate()强制更新 forceUpdate在类组件中生效的使用方法当你必须使用这个api页面才更新的时候说明你的业务代码中就已经出现了问题了。如果我们是基于 this.forceUpdate()强制更新视图会跳过 shouldcomponentUpdate 周期函数的校验直接从willUpdate开始进行更新这时视图就一定会更新。 import { Component } from react; class Vote extends Component {state {oppPerson: 0,aggPerson: 0,};handleSubmit() {}handleCancel () {this.state.oppPerson; //这种使用是不对的this.forceUpdate();};render() {const { oppPerson, aggPerson } this.state;return (div classNamevote-boxdiv classNameheaderh2 classNametitle标题/h2span15人/span/divdiv classNamemainp支持人数: {aggPerson}人/pp反对人数: {oppPerson}人/p/divdiv classNamefooterbutton onClick{this.handleSubmit} classNamebtn btn-primary支持/buttonbutton onClick{this.handleCancel} classNamebtn btn-danger反对/button/div/div);} } export default Vote;父子组件的更新顺序 vue中 react中
http://www.laogonggong.com/news/124747.html

相关文章:

  • flash网站源文件下载长城宽带做网站
  • 博文阅读网站建设福建示范校建设专题网站
  • 文山专业网站建设联系电话百度舆情系统
  • 深圳集团网站建设公司好系列推广软文范例
  • 丰宁县建设局网站商城网站建设正规公司
  • 建设平台类网站需要多少钱襄阳市建设厅官方网站
  • 做网站选择系统学校网站建设和维护情况
  • 物流信息网站建设成都网站建设是什么意思
  • 做网站的计划视频网站开发 视频采集
  • 山西教育平台网站建设推广普通话主题班会
  • 常州网站营销推广做网站怎么插音频
  • 淘客建站程序网站开发流程说明
  • 国外专门做旅行社的网站淘宝网页制作教程视频
  • 男生可以做网站编辑工作吗公众号制作要求
  • 企业网站 响应式 案例传媒公司排名
  • 重庆学校网站推广站长广告联盟平台
  • 电脑做h5比较好的网站建设网站要不要钱百度贴吧
  • 岳麓做网站的公司wordpress网站注册不了
  • 训做网站的心得体会范文软件定制网
  • 什么是网站易用性html网站前台模板
  • 黑龙江企业网站设计团队手机对比参数配置平台
  • 集团网站建设哪个好东莞招聘信息网
  • 网站建设的网络公me wordpress
  • 新乡网站建设求职简历官方网站开发模板
  • 怎么查询网站备案接入商安徽省建筑信息平台
  • 深圳东门步行街地铁站许昌小学网站建设
  • 保定模板建站哪家好新闻静态网站模板
  • 搜索引擎的网站有哪些北京专业制作网站
  • 门户定制网站建设公司即墨网站建设即墨
  • 大型网站开发 赚钱wordpress更新后台反应慢