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

政府网站建设工作的自查报告哪里有免费的网站推广服务

政府网站建设工作的自查报告,哪里有免费的网站推广服务,网站建设网站软件,9款好评不断的网页设计工具JSX 是什么 JSX是一种 JavaScript 的语法扩展(extension), 也在很多地方称之为 JavaScript XML, 因为看起就是一段XML语法。它用于描述我们的Ul界面,并且其完成可以和 JavaScript 融合在一起使用; 为什么 React 选择使用 jsx? React 认为渲…

JSX 是什么

JSX是一种 JavaScript 的语法扩展(extension), 也在很多地方称之为 JavaScript XML, 因为看起就是一段XML语法。它用于描述我们的Ul界面,并且其完成可以和 JavaScript 融合在一起使用;

为什么 React 选择使用 jsx?

React 认为渲染逻辑本质上与其他 UI 存在内在耦合。也就是说 UI 需要绑定事件、展示数据,而在数据状态改变时,有需要更改UI 。因为 React 打算将他们放在一起,js in html => jsx 。

JSX的顶层只能有一个根元素,所以我们很多时候会在外层包裹一个div元素(或者 Fragment);

  • 为了方便阅读,我们通常在jsx的外层包裹一个小括号(),这样可以方便阅读,并且jsx可以进行换行书写;

  • JSX中的标签可以是单标签,也可以是双标签;

    注意:如果是单标签,必须以 />

JSX 的使用

JSX 嵌入变量作为子元素

  • 情况一:当变量是Number、String、Array类型时,可以直接显示

  • 情况二:当变量是null、undefined、Boolean类型时,内容为空;

    如果希望可以显示null、undefined、Boolean,那么需要转成字符串;
    转换的方式有很多,比如toString方法、和空字符串拼接,String (变量)等方式;

  • 情况三:Object对象类型不能作为子元素(not valid as a React child)

JSX 嵌入表达式:

  • 运算表达式
  • 三元表达式
  • 执行一个函数

JSX 绑定属性:

  • 比如元素都会有title属性
  • 比如img元素会有src属性
  • 比如a元素会有href属性
  • 比如元素可能需要绑定class(className,class是关键字会警告)
  • 比如原生使用内联样式style(写成对象的形式)

props 传递组件

我们知道 props 可以传递数据,但实际上,组件也可以通过 props 进行传递。

如果使用 children 传递的话,如果嵌套多个子节点,children 会是一个子节点对象的数组;如果只有一个,那么children 是一个子节点的对象。

在这里插入图片描述

除了这样传递,还可以通过具体的属性名传递组件。

在这里插入图片描述

这样就是 React 中实现类似于 Vue 中插槽的作用。此外,还可以实现类似于作用域插槽的用法:

在这里插入图片描述

Vue 中的插槽用法完全通过 React 中的父子组件通信搞定,因此React 相较于 Vue 来说,灵活程度大大提升。

事件绑定

原生 DOM :1. 获取DOM元素,添加监听事件。2. 原生 HTML 直接绑定 onclick。

React:事件命名采用小驼峰,传入一个事件处理函数,会在事件发生时被执行。

JSX 本质

实际上,jsx 仅仅只是 React.createElement(component, props, …children) 函数的语法糖。

所有的jsx最终都会被转换成 React.createElement 的函数调用。

createElement需要传递三个参数:

  • 参数一:type
     当前ReactElement的类型;
     如果是标签元素,那么就使用字符串表示 “div”;
     如果是组件元素,那么就直接使用组件的名称;
  • 参数二:config
     所有jsx中的属性都在config中以对象的属性和值的形式存储;
     比如传入className作为元素的class;
  • 参数三:children
     存放在标签中的内容,以children数组的方式进行存储;
     当然,如果是多个元素呢?React内部有对它们进行处理,可以通过 babeljs.io 中 try it out 查看转换后的代码 https://babeljs.io/repl/#?presets=react

image-20250222095953911

所以,如果我们在代码中直接使用 babel 转换后的代码(全部改为 js 的写法),而不是 jsx 语法,一样可以正常开发。

image-20250222100344055

React.createElement 最终返回一个 ReactElement 对象。这个对象组成了一个 js 对象树,也就是虚拟DOM。(可以通过打印上述 element 查看虚拟DOM 树的结构)

虚拟DOM帮助我们从命令式编程转到了声明式编程的模式。render 方法就是让 虚拟DOM 和真实 DOM 同步起来,这个过程叫做 协调。
构)

虚拟DOM帮助我们从命令式编程转到了声明式编程的模式。render 方法就是让 虚拟DOM 和真实 DOM 同步起来,这个过程叫做 协调。

http://www.dtcms.com/wzjs/501849.html

相关文章:

  • 做课展网站seo是什么意思电商
  • 网站开发软件技术专业好吗百度客服24小时人工服务
  • 做外贸网站哪家效果好学seo优化
  • 欧美网站设计特点seo工资一般多少
  • 用node做的网站sem竞价
  • 望京做网站静态网页设计与制作
  • 广州网站运营专业乐云seoseo初学教程
  • 平面设计网课培训有用吗爱站网seo工具包
  • 网站备案进度查询营销平台
  • 网站制作公司小邓长春做网络优化的公司
  • 创建网站 英文广告营销策略
  • 中央广播电视总台央视少儿客户端深圳网络优化推广公司
  • 自己本地可以做网站服务器能去百度上班意味着什么
  • 商标注册在哪个部门申请海外aso优化
  • wordpress文章框seo运营人士揭秘
  • 南通开发区:高质量发展百度seo搜索引擎优化方案
  • 做网站互联网公司排名软文代写费用
  • 国外vps私人网站优化排名软件推广
  • 学校校园网站建设方案深圳网站关键词排名优化
  • 宁夏做网站建设公司百度引擎入口
  • 上海电子通科技网站建设网站下载
  • 手机网站页面布局游戏推广对接平台
  • 室内设计ppt模板免费东莞关键词排名快速优化
  • 宁波网站建设招商加盟输入关键词进行搜索
  • 宁波网站建设rswl百度关键词推广方案
  • 广西网站制作公司合肥网络优化推广公司
  • 东莞视频网站制作广州最新消息
  • 宜宾建设网国内好的seo
  • 临沂网站建设举措百度热搜关键词排名
  • wordpress站群 优化单个药品营销策划方案