介绍JSX
考虑这个变量的声明:1const element = <h1>Hello, world!</h1>
这种有趣的标签语法既不是一个字符串也不是html。
它叫JSX,是JavaScript扩展的语法。
在JSX中嵌入表达式
可以将任何JavaScript表达式放在大括号内嵌入进JSX。12345678910111213141516171819function 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'));
JSX也是一个表达式
编译之后,JSX表达式变成常规的JavaScript函数调用为对象。
这就意味着,你可以在if语句、for循环中使用JSX,可以把它分配给变量、让它成为参数传递、或者是函数的返回值。
|
|
JSX的含义
JSX只是JavaScript语法的一个语法映射。JSX表达式执行函数调用,我们可以看成他就是调用 createElement() 方法的快捷方式。 Babel 内置的支持 JSX 语法的编译。在代码中声明 @jsx可以定制相应的函数调用:
|
|