当使用react-rails生成组件时,我的es6类组件是使用.jsx扩展名创建的?为什么?例
rails generate react:component TestComponent --es6
结果为test_component.es6.jsx
文件,而不是test_component.es6
因为在 Javascript 从 ES6
转换为 ES5 之前,它必须从 JSX 转换为 ES6(从 React 组件中删除所有 HTML 标签)。
您可以在此处阅读有关JSX的更多信息
JSX只是javascript的一个扩展,增加了一些语法差异。它使用类似XML的结构。而不是键入:
React.DOM.div(..)
您只需键入:
<div>
添加到末尾的JSX只是告诉资产管道他们使用了现有的JSX,并将其转换为Javascript。