Javascript Babelify拒绝了我的JSX,我正在使用';反应';预设
将browserify+babelify与react和ES6以及stage-2和polyfill预设一起使用:Javascript Babelify拒绝了我的JSX,我正在使用';反应';预设,javascript,reactjs,browserify,babeljs,react-jsx,Javascript,Reactjs,Browserify,Babeljs,React Jsx,将browserify+babelify与react和ES6以及stage-2和polyfill预设一起使用: browserify -t [babelify --presets ['latest' 'react' 'babel-polyfill' 'stage-2'] ] client-src/root.js -o lib/root.js 使用此javascript代码: import React, { PropTypes } from 'react'; import ReactDOM fr
browserify -t [babelify --presets ['latest' 'react' 'babel-polyfill' 'stage-2'] ] client-src/root.js -o lib/root.js
使用此javascript代码:
import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom';
import RecordRow from './RecordRow';
const RecordSection = ({section, index}) => {
return (
{ section.useHeading &&
<tr>
<td colspan="4" key={'sectionHeading' + index}>
{section.heading}
</td>
</tr>
}
{section.rows.map((row, i) =>
<RecordRow
key={'sectionRow' + index + ',' + i}
sectionIndex={index}
rowIndex={i} />
)}
);
}
import React,{PropTypes}来自'React';
从“react dom”导入react dom;
从“/RecordRow”导入RecordRow;
const RecordSection=({section,index})=>{
返回(
{section.useHeading&&
{节.标题}
}
{section.rows.map((row,i)=>
)}
);
}
我在JSX大括号内的“.”上得到一个错误:
SyntaxError: /blah/RecordSection.js: Unexpected token, expected , (10:13)
8 |
9 | return (
> 10 | { section.useHeading &&
| ^
11 | <tr>
12 | <td colspan="4" key={'sectionHeading' + index}>
13 | {section.heading}
at Parser.pp$5.raise (/blah/node_modules/babylon/lib/index.js:4246:13)
at Parser.pp.unexpected (/blah/node_modules/babylon/lib/index.js:1627:8)
SyntaxError:/blah/RecordSection.js:意外标记,应为,(10:13)
8 |
9 |返回(
>10 |{section.useHeading&&
| ^
11 |
12 |
13 |{章节标题}
在Parser.pp$5.raise(/blah/node_modules/babylon/lib/index.js:4246:13)
意外(/blah/node_modules/babylon/lib/index.js:1627:8)
为什么?原来JSX不允许在根目录下有多个项。你可以从函数返回数组,但传递给渲染的东西必须有一个根目录。请看,你的代码不是有效的JSX。你的
部分。useHeading&
逻辑不在合理的位置。啊,好的,谢谢。我想我应该重命名这篇文章,然后哈哈。