jsx本质,jsx与js

  jsx本质,jsx与js

  JSX原理要理解JSX的原理,首先需要了解如何使用JavaScript对象来表示一个DOM元素的结构。

  请看下面的DOM结构:

  div class=app id=appRoot

  H1 class=title 欢迎来到React /h1世界

  p

  React.js是一个帮助你构建页面UI的库。

  /p

  /div上面这个HTML中的所有信息都可以用JavaScript对象来表示:

  {

  标签:“p”,

  属性:{ className: app ,id: appRoot},

  儿童:[

  {

  标签:“h1”,

  属性:{ className: title },

  孩子们:[欢迎来到React的世界]

  },

  {

  标签:“p”,

  属性:空,

  子:[React.js是一个用于构建页面UI的库]

  }

  ]

  }但是用JavaScript写太长了,结构也不清晰,用HTML比较方便。

  所以React.js扩展了JavaScript的语法,允许用JavaScript代码编写类似HTML标签结构的语法,这样就方便多了。编译过程会把类似HTML的JSX结构转换成JavaScript的对象结构。

  从“react”导入React

  从“react-dom”导入ReactDOM

  类应用程序扩展React。组件{

  render () {

  返回(

   app id=appRoot

  H1:欢迎来到React /h1的世界

  p

  React.js是一个用于构建页面UI的库。

  /p

  /p

  )

  }

  }

  ReactDOM.render(

  App /,

  document.getElementById(root )

  )转换为

  从“react”导入React

  从“react-dom”导入ReactDOM

  类应用程序扩展React。组件{

  render () {

  返回(

  React.createElement(

  p ,

  {

  类名:“应用程序”,

  id:“appRoot”

  },

  React.createElement(

  h1 ,

  { className: title },

  欢迎来到React的世界

  ),

  React.createElement(

  p ,

  空,

  React.js是一个用于构建页面UI的库

  )

  )

  )

  }

  }

  ReactDOM.render(

  React.createElement(App),

  document.getElementById(root )

  )React.createElement会构建一个JavaScript对象来描述你的HTML结构的信息,包括标签名、属性、子元素。语法是

  React.createElement(

  类型,

  【道具】,

  [.儿童]

  所谓的JSX实际上是一个JavaScript对象,所以在使用React和JSX的时候必须经过编译过程。

  推荐:《js基础教程》以上是一篇关于认识JSX原理的文章的详细内容(推荐)。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: