我在React组件中使用es2015 Arrow函数,在我声明myfunction() {...}
时抛出错误。如果像myFunction : function () {...}
这样写,则该错误不存在。我没有使用Browserify / Babelify编译任何问题 - 这只发生在下面的例子中。
import React from 'react';
module.exports = React.createClass({
// render : function () { // <--- this works
render() { // <---- this throws an error
return (
<div>Kaboom.</div>
);
}
});
/* RenderService.js */
require("babel-register")({
plugins: ["transform-react-jsx","transform-es2015-modules-commonjs"]
});
var React = require('react');
var ReactDOMServer = require('react-dom/server');
module.exports = {
renderReport : function (reportId) {
var TestComp = require('./TestCompoennt');
var ReactComponent = React.createFactory(TestComp,'div');
return ReactDOMServer.renderToStaticMarkup(ReactComponent());
}
};
错误:renderApproval(){ ^ SyntaxError:意外的令牌(
答案 0 :(得分:1)
也许你应该使用预设-es2015,这个插件包含transform-es2015-shorthand-properties
,你需要改变它:
var z = function() { return 'z'; };
var x = {
z
}
到此:
var z = function() { return 'z'; };
var x = {
z: z
}
或者在你的情况下
var x = {
z() {
return 'z';
}
}
还包括: