我正在尝试在React js中使用esprima解析函数参数。我收到以下错误
错误:第1行:意外的令牌( ▶9个堆栈框被折叠。 渲染器 src / v4 / EsprimaTest.js:12:29 9 | 10 | 11 | render(){
12 | const parsed = esprimaFB.parse(this.sum.toString()) | ^ 13 | const parsed1 = esprima.parse(this.sum.toString()) 14 |返回( 15 | 查看已编译
我的源代码如下。我尝试了esprima和esprima-fb
import React from "react";
var esprimaFB = require("esprima-fb");
var esprima = require("esprima");
class App extends React.Component {
sum = (a,b)=>{
return a+b;
}
render() {
const parsed= esprimaFB.parse(this.sum.toString())
const parsed1= esprima.parse(this.sum.toString())
return (
<div>
<div>{JSON.stringify(parsed)}</div>
<div>{JSON.stringify(parsed1)}</div>
</div>
);
}
}
export default App;
答案 0 :(得分:0)
我可以通过将sum函数移到类之外来解决该问题。但不知道为什么它在类范围内时不运行。
import React from "react";
var esprimaFB = require("esprima-fb");
var esprima = require("esprima");
const sum = (a,b)=>{
return a+b;
}
class App extends React.Component {
render() {
const parsed= esprima.parse(sum.toString())
return (
<div>
<div>{JSON.stringify(parsed)}</div>
</div>
);
}
}
export default App;
答案 1 :(得分:0)
在类中使用 sum 时,您将具有箭头功能。
尝试更改:
esprimaFB.parse(this.sum.toString())
收件人:
esprimaFB.parse(this.sum().toString())
我不知道您遇到的错误是否与此有关,请尝试一下。