React文档(十四)深入JSX

根本上,JSX只是为React.createElement(component, props, ...children)函数提供语法糖。JSX代码是这样的:

<MyButton color="blue" shadowSize={2}>
  Click Me
</MyButton>

编译成这样:

React.createElement(
  MyButton,
  {color: ‘blue‘, shadowSize: 2},
  ‘Click Me‘
)

你也可以使用自己闭合的标签块如果它们没有子元素。

<div className="sidebar" />

编译成这样:

React.createElement(
  ‘div‘,
  {className: ‘sidebar‘},
  null
)

如果你想要测试JSX是怎样转换成js的,你可以试一试在线Babel编译器

时间: 2024-10-10 23:59:16

React文档(十四)深入JSX的相关文章

React文档(一)安装

React是一个灵活的可以用于各种不同项目的框架,你可以用它来写新应用,你也可以逐步将它引进已有的代码库而不用重写整个项目. 试用React 如果你想玩一玩React,那么就去CodePen上试一试.尝试一下Hello World的React例子.不需要安装任何东西,只是修改代码然后查看结果. 如果你更喜欢在本地编辑,那么你也可以下载此文件,修改它,然后在本地用浏览器打开.但是它会做一个很慢的运行时代码转换,所以不要像这样在产品中使用. 创建一个单页应用 创建React应用这个项目是一个最好的方

浅谈用java解析xml文档(四)

继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使用dom4j解析,个人认为是四种解析方式里面最方便的一种,DOM4J是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件.如今你可以看到越来越多的Java软件都在使用DOM4J来读写XML,特别值得一提的是连Sun的JAXM也在用D

react文档demo实现输入展示搜索结果列表

文档页面地址:https://doc.react-china.org/docs/thinking-in-react.html 该文档只给了具体实现思路,下面是我实现的代码. 初学react,如果有写的不规范的地方,望大家多多指正! FilterableProductTable (橙色): 包含了整个例子 SearchBar (蓝色): 接受所有的用户输入 ProductTable (绿色): 根据用户输入过滤并展示数据集合 ProductCategoryRow (绿松石色): 展示每个分类的标题

mongoose 文档(四) queries

通过一些model的静态辅助方法可以检索document. 任何 涉及 指定 查询 条件的 model 方法都能通过两个方法执行. 当一个回调函数: 被传递,操作将立即执行,结果传给回调. 没有被传递,返回一个 查询 实例,它提供一个特殊的查询生成接口. 在mongoose 4,Query有 then()函数,因此可以被用来作为一个 promise. 用回调函数执行查询时,将请求指定为JSON 文档.JSON文档的语法和 MongoDB shell 一样. var Person = mongoo

Elasticsearch分布式文档存储(四)

1.将文档路由到分片 索引文档时,它存储在单个主分片上. Elasticsearch如何知道文档属于哪个分片?当我们创建一个新文档时,它是如何知道它是否应该将该文档存储在分片1或分片2上? 该过程不能是随机的,因为我们将来可能需要检索文档.事实上,它由一个简单的公式决定: shard = hash(routing)%number_of_primary_shards 该routing值是一个任意字符串,默认为文档 _id,但也可以设置为自定义值. 此routing字符串通过散列函数传递以生成一个数

React文档(二十)不使用JSX

JSX并不是使用React的一个强制需求.当你不需要在你的构造环境里设置编译那么不使用JSX会很方便. 每一个JSX元素只是调用React.createElement(componnet, props, ...children)的语法糖.因此,JSX能做的事原生js同样也做得到. 举个例子,下面的代码用JSX: class Hello extends React.Component { render() { return <div>Hello {this.props.toWhat}</d

React文档(三)介绍JSX

我们先看看这个变量声明: const element = <h1>Hello, world!</h1>; 这个有趣的标签语法既不是字符串也不是HTML. 这种写法叫做JSX,这是一种对js语法的扩展.我们建议使用这种语法和React配合去描述UI本来应该的样子.JSX也许会让你想到模板语言,但是它拥有js的强大支持是与生俱来的. JSX生产React"元素".我们会在下一章讲解将这些React元素渲染到DOM中.下面,你可以来看看JSX的基础知识来起步. 在JS

React文档(二十二)context

React中,通过React组件可以很容易地追踪数据流.当你关注一个组件,你可以发现哪一个props被传递了,这样使得你的应用很容被推断. 在一些情况下,你想要传递数据通过组件树而不需要去手动在每一层传递.你可以直接使用强大的context API. 为什么不使用context 大量的应用不需要使用context. 如果你希望你的应用稳定,不要使用context.这是一个实验性的API在未来的版本中有可能会崩溃. 如果你不熟悉state管理库就类似于Redux或者Mobx,不要使用context

React文档(十)表单

HTML元素和 React里的其他DOM元素有些不同,因为它们会保留一些内部的状态.举个例子,这个普通的表单接受一个name值: <form> <label> Name: <input type="text" name="name" /> </label> <input type="submit" value="Submit" /> </form> 这个表