【发布时间】:2016-05-08 10:13:22
【问题描述】:
使用 react-rails 生成组件时,我的 es6 类组件是使用 .jsx 扩展名创建的?这是为什么?
例子
rails generate react:component TestComponent --es6
生成 test_component.es6.jsx 文件而不是 test_component.es6
【问题讨论】:
标签: ruby-on-rails reactjs react-rails
使用 react-rails 生成组件时,我的 es6 类组件是使用 .jsx 扩展名创建的?这是为什么?
例子
rails generate react:component TestComponent --es6
生成 test_component.es6.jsx 文件而不是 test_component.es6
【问题讨论】:
标签: ruby-on-rails reactjs react-rails
因为在 Javascript 可以从 ES6 转换为 ES5 之前,它必须从 JSX 转换为 ES6(从您的 React 组件中删除所有 HTML 标签)。
你可以阅读更多关于 JSX here
【讨论】:
JSX 只是 javascript 的扩展,增加了一些语法差异。它使用和 XML 类似的结构。而不是输入:
React.DOM.div(..)
您只需输入:
<div>
添加到末尾的 JSX 只是为了告诉资产管道他们使用了现有的 JSX,并将其转换为 Javascript。
【讨论】: