[关闭]
@Dale-Lin 2018-10-22T09:03:58.000000Z 字数 1089 阅读 759

JSX 语法

Reactjs


JSX 是 React 的核心组成部分,使用 XML 标记直接声明界面,界面组件之间可以互相嵌套。


JSX 用例:

  1. ReactDOM.render(
  2. <h1>Hello, world!</h1>,
  3. document.getElementById('example')
  4. );

用尖括号 <> 包裹 HTML 代码。

使用的时候可以使用嵌套多个 HTML 标签,但是要包含在一个大容器内:

  1. ReactDOM.render(
  2. <div>
  3. <h1>嵌套使用</h1>
  4. <h2>欢迎学习 React</h2>
  5. <p data-localAttrubute="someValue">这是一个很不错的 JavaScript 库!</p>
  6. </div>
  7. ,
  8. document.getElementById('example')
  9. );

使用自定义属性要用 data- 前缀。

JavaScript 表达式

在 JSX 中使用 JavaScript 表达式时,用花括号 {} 包裹:

  1. var names = ['Alice', 'Emily', 'Kate'];
  2. ReactDOM.render(
  3. <div>
  4. {
  5. names.map(function (name){
  6. return <div>Hello, {name}!</div>;
  7. }
  8. }
  9. </div>,
  10. document.getElementById('example')
  11. );

会将 {} 内的表达式执行的结果返回出来,也可以渲染 HTML 标签。

不能在 JSX 中使用 if...else 语句,只可以使用三元运算:

  1. ReactDOM.render(
  2. <div>
  3. <h1>{i = 1? 'true!' : 'false'}</h1>
  4. </div>,
  5. document.getElementById('example')
  6. );

如果插入数组,会自动展开所有成员:

  1. var arr = [
  2. <h1>Hello world!</h1>
  3. <h2>React is awesome<h2>
  4. ];
  5. ReactDOM.render(
  6. <div>{arr}</div>,
  7. document.getElementById('example')
  8. );

样式

React 推荐使用内联样式。可以使用驼峰语法设置内联样式,React 会在指定元素数字后自动添加 px:

  1. var myStyle = {
  2. fontSize: 100,
  3. color: '#f00'
  4. };
  5. ReactDOM.render(
  6. <h1 style={myStyle}>内联样式</h1>,
  7. document.getElementById('example')
  8. );
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注