React文档(三)介绍JSX

我们先看看这个变量声明:

const element = <h1>Hello, world!</h1>;

这个有趣的标签语法既不是字符串也不是HTML。

这种写法叫做JSX,这是一种对js语法的扩展。我们建议使用这种语法和React配合去描述UI本来应该的样子。JSX也许会让你想到模板语言,但是它拥有js的强大支持是与生俱来的。

JSX生产React“元素”。我们会在下一章讲解将这些React元素渲染到DOM中。下面,你可以来看看JSX的基础知识来起步。

在JSX中嵌入表达式

你可以在JSX中嵌入任何使用大括号包裹起来的js表达式。

举个例子,2+2,user.name还有formatName(user)都是有效的表达式:

function formatName(user) {
  return user.firstName + ‘ ‘ + user.lastName;
}

const user = {
  firstName: ‘Harper‘,
  lastName: ‘Perez‘
};

const element = (
  <h1>
    Hello, {formatName(user)}!
  </h1>
);

ReactDOM.render(
  element,
  document.getElementById(‘root‘)
);

在CodePen里试一试

我们把JSX代码分割成多行,这样可读性好。即使不需要,但当这样做地时候,我们同样建议将它包裹在圆括号里避免意想不到的错误。

JSX也是一种表达式

JSX表达式在编译之后会变成规则的js对象。

这表示你可以将JSX放在if条件语句中或者for循环中,把它们赋值给变量,将他们作为函数的参数,也可以在函数中作为返回值:

function getGreeting(user) {
  if (user) {
    return <h1>Hello, {formatName(user)}!</h1>;
  }
  return <h1>Hello, Stranger.</h1>;
}

在JSX中指定属性

有时你会使用引用来指定字符串字面量作为属性:

const element = <div tabIndex="0"></div>;
时间: 2024-12-21 14:08:26

React文档(三)介绍JSX的相关文章

httpd主配置文档的介绍及小练习

一.httpd 主配置文档的介绍/etc/httpd/conf/httpd.conf ### Section 1: Global Environment 全局环境 ServerRoot "/etc/httpd" 主服务程序在这个目录下 PidFile run/httpd.pid Pid 在主服务目录下的这个文件 Timeout 60 超时时间为60秒 KeepAlive Off 持久连接关闭 MaxKeepAliveRequests 100 最大连接数 KeepAliveTimeout

产品经理必备文档的介绍

    如果你和一个互联网产品经理聊天,可能会经常听他们说到的几个文档简称BRD,MRD,PRD和FSD.这个几个文档到底包含什么内容,有什么区别呢?总结一下,不妥之处请指正. BRD:Business Requirements Document,商业需求文档. 商业需求文档重点放在定义产品的商业需求,要说明产品能够解决的.客户碰到的一个或多个商业问题,然后提出建议解决方案-通常是用新产品或者改进现有的产品来解决这些问题. BRD也可能包括一个高级的商业案例,例如收益预测. 市场&竞争分析. 销

Poi之Word文档结构介绍

1.poi之word文档结构介绍之正文段落 一个文档包含多个段落,一个段落包含多个Runs,一个Runs包含多个Run,Run是文档的最小单元 获取所有段落:List<XWPFParagraph> paragraphs = word.getParagraphs(); 获取一个段落中的所有Runs:List<XWPFRun> xwpfRuns = xwpfParagraph.getRuns(); 获取一个Runs中的一个Run:XWPFRun run = xwpfRuns.get(i

弹性盒属相文档详细介绍

弹性盒属相文档详细介绍 display:flex; 声明本元素是弹性盒容器 如果目标元素是行内元素 使用display:inline-flex; flex-direction 取值 描述 row 默认值 ,弹性盒子元素按X轴方向顺序排列 row-reverse 弹性盒子元素按照X轴风向逆序排列 column 弹性盒子元素按照Y轴方向顺序排列 column-reverse 弹性盒子元素按照Y轴方向逆序排列 flex-wrap 取值 描述 nowrap 默认值,flex子元素只会单行显示,flex子

Office文档修复介绍之:laola文件格式介绍

Office文档是目前应用最广泛的文档格式,但很多人都没有为office文件建立完善的安全防护措施,也没有养成进行文件备份的良好习惯,所以一旦出现操作失误.病毒破坏.系统故障等情况,就有可能造成当前正在编辑的word.excel文档和access数据库等受到损坏,下次无法打开.那么一旦遇到这类文档被破坏或者丢失我们是否就束手无策了呢,当然不是,我们可以借助专业知识和小工具进行受损文档修复. 未公开的office文档存储格式秘密 Office文档格式一直以来都是微软公司的技术机密,至今未曾向外界公

react学习(三)介绍JSX

参考:https://facebook.github.io/react/docs/introducing-jsx.html 一.JSX介绍 ReactDOM.render(<div>hello world</div>, document.getElementById('root'));红色部分如果加一层''号,会出错,JSX既不是字符串也不是HTML,它是JavaScript的语法拓展 二.JSX使用 1.使用大括号嵌入js表达式 let a = "hello world

ElasticSearch文档操作介绍三

ElasticSearch文档的操作 文档存储位置的计算公式: shard = hash(routing) % number_of_primary_shards 上面公式中,routing 是一个可变值,默认是文档的 _id ,也可以设置成一个自定义的值. routing 通过 hash 函数生成一个数字,然后这个数字再除以 number_of_primary_shards (主分片的数量)后得到 余数 .这个分布在 0 到 number_of_primary_shards-1 之间的余数,就是

React文档(一)安装

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

libevent学习文档(三)working with event

Events have similar lifecycles. Once you call a Libevent function to set up an event and associate it with an event base, it becomes initialized. At this point, you can add, which makes it pending in the base. When the event is pending, if the condit

IEEE829-2008软件测试文档标准介绍

1998版中定义了一套文档用于8个已定义的软件测试阶段: 测试计划: 一个管理计划的文档 包括:   测试如何完成 (包括SUT的配置).   谁来做测试   将要测试什么   测试将持续多久 (虽然根据可以使用的资源的限制而有变化).   测试覆盖度的需求,例如所要求的质量等级   测试设计规格: 详细描述测试环境和期望的结果以及测试通过的标准.   测试用例规格: 定义用于运行于测试设计规格中所述条件的测试数据.   测试过程规格: 详细描述如何进行每项测试,包括每项预置条件和接下去的步骤.