Babel插件 - 如何使用属性解析JSX

时间:2016-03-04 14:27:28

标签: babeljs react-jsx

我正在编写一个babel插件来转换JSX代码。

我可以使用以下代码获得AST:

var babylon = require('babylon');

var code = '\
    <Outer>\
      <Inter />\
    </Outer>\
';

var ast = babylon.parse(code, {
  sourceType: 'module',
  plugins: ['jsx']
});

但是,使用以下代码会出错:

var code = '\
    <Outer>\
      <Inter value=0 />\
    </Outer>\
';

错误是:

SyntaxError: JSX value should be either an expression or a quoted JSX text

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

正如错误所说,这不是有效的JSX。属性值必须是表达式(value={0})或引用的(value="0")。