Javascript 让jsx编译器忽略引用其他API的行

Javascript 让jsx编译器忽略引用其他API的行,javascript,google-chrome-extension,reactjs,content-script,react-jsx,Javascript,Google Chrome Extension,Reactjs,Content Script,React Jsx,我使用React.js在chrome内容脚本中生成组件 当本地存储中的数据更改时,react组件应重新呈现 readUserInfo : function() { chrome.storage.onChanged.addListener(function(object changes, string areaName) { this.setState({userInfo:changes["userInfo"].newValue}); }); 具有挂载功能 componentDidM

我使用React.js在chrome内容脚本中生成组件

当本地存储中的数据更改时,react组件应重新呈现

readUserInfo : function() {
  chrome.storage.onChanged.addListener(function(object changes, string areaName) {
    this.setState({userInfo:changes["userInfo"].newValue});
});
具有挂载功能

componentDidMount: function() {
  this.readUserInfo();
}
当然,jsx编译器会抱怨ChromeAPI调用。如何让jsx编译器忽略这一行,即将其保留为vanilla js?

尝试以下方法:

componentDidMount: function() {
  chrome.storage.onChanged.addListener(this.onChromeStorageChange)
},
onChromeStorageChange: function(changes, areaName) {
   this.setState({ userInfo:changes["userInfo"].newValue })
}

我使用React的自动绑定并删除了您可能从文档中复制/粘贴的无效参数表达式。当组件卸载时,不要忘记删除侦听器。

jsx编译器会抱怨,因为functionobject发生了更改,字符串areaName{是无效的JavaScript。js中没有类型。也不要忘记将其绑定到回调中。