javascript - 无法在 return() React JSX 中使用 block

标签 javascript reactjs block jsx

我正在学习 React JS,并面临 JSX 的问题。 我有一个组件:

class Content extends React.Component {
  render() {
    const array = ["apple", "orange"]
    return (
      {array[0]}
    )
  }
}

它抛出错误babel.min.js:7 Uncaught SyntaxError: Inline Babel script: Unexpected token, expected ,

但是如果我包裹 {array[0]}里面<span>标签,这有效。

class Content extends React.Component {
  render() {
    const array = ["apple", "orange"]
    return (
      <span>{array[0]}</span>
    )
  }
}

我认为我的核心 JavaScript 不好,请帮助我理解这个问题。谢谢。

最佳答案

问题是因为在第一个示例中您没有返回有效元素。

当组件在 render 方法中返回某些内容时,返回的是由 React.createElement 创建的 HTML 元素。

Here你可以看看 babel 做了什么。

尝试更改第一个示例的语法,看看会发生什么,然后我认为这会让您更清楚。

关于javascript - 无法在 return() React JSX 中使用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46991523/

相关文章:

javascript - 为什么生成器方法是构造函数?

javascript - 如果 userAgent 是 GoogleBot,我想执行一个函数

javascript - 如何将react-show-more更多或更少文本自定义为Material-UI图标

reactjs - 找不到模块 'webpack/lib/rules/BasicEffectRulePlugin'

java RTFEditorKit : chaining blocks of text

perl - 将 perl 的排序函数包装在一个对象中

java - Eclipse 格式化。在为 block 打开大括号之前删除新行

javascript - 在 Javascript 中从 2 个值和键数组构建一个 Map

javascript - Facebook 分享的帖子显示单词 "object"如何删除该单词

javascript - 在 React 中使用 map() 传递附加参数