我们目前将reactjs与requirejs一起使用,babel正在运行jsx。我们想写这样的代码:
define([
'react'
], function(react) {
return react.createClass({
render: function() {
return (
<div>
excellent code
</div>
)
}
});
});
使用小写“react”,因为它不是构造函数或类。
但是,如果我们这样做,转换后的代码将尝试使用变量React,事情将会破坏:
(...)
render: function () {
return React.createElement(
'div',
null,
(...)
是否可以更改已转换代码用于react模块的变量?
答案 0 :(得分:1)
您可以使用transform-react-jsx Babel插件pragma设置生成其他表达式。这样你就可以将JSX用于完全不同的东西。
在.babelrc
文件中尝试此操作:
{
"presets": ["es2015", "stage-0", "react"],
"plugins": [
["transform-react-jsx", {
"pragma": "react.createElement"
}]
]
}