javascript - 了解 React 基本示例

标签 javascript reactjs

basic example on the React frontpage有:

class HelloMessage extends React.Component {
  render() {
    return <div>Hello {this.props.name}</div>;
  }
}

ReactDOM.render(<HelloMessage name="Jane" />, mountNode);

如果我在我的设置中做类似的事情,我会得到:

ERROR in ./src/index.jsx
Module build failed: SyntaxError: Unexpected token, expected } (54:11)

  52 | 
  53 | class EisTable extends React.Component {
> 54 |   render() {
     |            ^
  55 |     return <div>Hello </div>;
  56 |   }
  57 | }

哪个是对我有意义。可能这是我不知道的一些 ES6 技巧,但为了方便 JS,这种语法没有意义。这个 render(){} 调用了什么?我需要什么才能让它工作?

最佳答案

如您所料,这是 ES6(又名 ES2015)中引入的语法,称为 shorthand methods .

这个

{
  render() {}
}

是这个的简写语法

{
  render: function() {}
}

你可以用很长的方式编写它(为了与旧的 JS 规范兼容)或使用更新的 JS 引擎。这是此特定语言功能的兼容性表:http://kangax.github.io/compat-table/es6/#test-object_literal_extensions_shorthand_methods

如果您使用的是 babel,请确保包含 es2015 预设。

关于javascript - 了解 React 基本示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40718171/

相关文章:

javascript - 无法访问 for 循环内创建的数组

javascript - Node process.env 变量为空

reactjs - 如何使用 useRef 改变元素的样式?

javascript - 在事件更改时跨表保持状态

javascript - 通过 ref 或 prop 更改 React 中的子组件?

javascript - 下拉 onchange 函数调用不起作用

javascript - 在 Delphi 中使用 TWebBrowser 时如何抑制脚本错误警告?

javascript - React-router 会影响页面加载时间吗?

javascript - 如何在函数中创建全局变量?

css - 是否可以使用 CSS Grid 代替 Material UI 的网格组件?