代码之家  ›  专栏  ›  技术社区  ›  Hans Zimermann

React或JSX中卷曲和圆括号之间的差异

  •  0
  • Hans Zimermann  · 技术社区  · 6 年前

    为什么在下面的开始片段中 const user 用大括号包起来 const element 是否用括号括起来?

    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')
    );
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   thismarcoantonio    6 年前

    使用时:

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

    您正在使用 JSX ,它提供了一种类似Javascript XML的语言,就像一个预处理器。

    否则,使用时:

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

    您正在创建一个普通的Javascript对象,您可以在其中存储数据并像 user.firstName user.lastName

        2
  •  2
  •   Shubham Khatri    6 年前

    在第一种情况下:

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

    用户是 object 具有 key: value 配对,因此 {}

    而在第二种情况下,

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

    包装在中的多行JSX表达式 () 增加代码的可读性,以及 per the docs ,则,

    建议用括号括起来,以避免 automatic semicolon insertion