代码之家  ›  专栏  ›  技术社区  ›  cham

导入React如何允许JSX作为JS处理?

  •  2
  • cham  · 技术社区  · 6 年前

    import React from 'react';
    
    const Widget = (props) => <h1>{props.text}</h1>
    
    export default Widget;
    

    createElement() 对于看起来像HTML的JSX的转换( <h1>{props.text}</h1>

    2 回复  |  直到 6 年前
        1
  •  1
  •   devserkan    6 年前

    首先,Babel将JSX编译成常规Javascript,然后更准确地说是React导入 React.createElement 函数完成任务。下面是您的代码的编译版本:

    "use strict";
    
    var Widget = function Widget(props) {
      return React.createElement(
        "h1",
        null,
        props.text
      );
    };
    
        2
  •  1
  •   cs01    6 年前

    Babel 是一个JavaScript编译器。

    巴贝尔有效地转身

    // Display a "Like" <button>
    return (
      <button onClick={() => this.setState({ liked: true })}>
        Like
      </button>
    );
    

    进入之内

    // Display a "Like" <button>
    return React.createElement(
      'button',
      { onClick: () => this.setState({ liked: true }) },
      'Like'
    );
    

    阅读React文档中的更多内容 Add JSX to a Project