React JSX

  • JSX:是一个 JavaScript 的语法扩展。我们建议在 React 中配合使用 JSX,JSX 可以很好地描述 UI 应该呈现出它应有交互的本质形式。

  • JSX特性:

由于 JSX 就是 JavaScript,一些标识符像 class 和 for 不建议作为 XML 属性名。
className用于代替class添加 CSS 类,就像class 在JavaScript 中的保留关键字一样。
JSX 中的属性和方法是驼峰式的——onclick将变成onClick.


案例

export default function TodoList() {
    const list = [
        <span>姓名:张三</span>,
        <span>性别:男</span>,
        <span>年龄:20</span>
    ];
  return (
    <>
      <h1>海蒂·拉玛的待办事项</h1>
      <img 
        src="https://i.imgur.com/yXOvdOSs.jpg" 
        alt="Hedy Lamarr" 
        className="photo" 
      />
      <ul>
        <li>发明一种新式交通信号灯</li>
        <li>排练一个电影场景</li>
        <li>改进频谱技术</li>
      </ul>
       {/* 数组写法 */}
        <div>
            {list.map((item,index) => {
                return(
                    <p key={index}>{index}---{item}</p>
                )
            })}
        </div>
        {/* 条件渲染 */}
        <ul>
            <Item 
            isPacked={true} 
            name="宇航服" 
            />
            <Item 
            isPacked={true} 
            name="带金箔的头盔" 
            />
            <Item 
            isPacked={false} 
            name="Tam 的照片" 
            />
        </ul>
    </>
  );
}

function Item({ name, isPacked }) {
  // 条件判断
  if (isPacked) {
    return <li className="item">{name} ✔</li>;
  }

  // 三元运算符
  return isPacked ? <li className="item">{name}</li> : ''
}
powered by GitbookEdit Time: 2024-06-06 18:25:41