Javascript JS类静态成员初始化发生在加载cdn依赖项之前

Javascript JS类静态成员初始化发生在加载cdn依赖项之前,javascript,reactjs,ecmascript-6,material-ui,Javascript,Reactjs,Ecmascript 6,Material Ui,我声明了这个类成员,但是我得到的错误MenuItem没有定义 显然,类初始化发生在React或Material UI完成加载之前(我用straights从CDN加载它们,我假设当我用npm打包它们时,不会发生这种情况,但现在我必须这样做。) 有什么方法可以防止这种情况发生吗? static operators = { 'auto': [ <MenuItem key="=" value="=">a=</MenuItem>,

我声明了这个类成员,但是我得到的错误
MenuItem
没有定义
显然,类初始化发生在React或Material UI完成加载之前(我用straight
s从CDN加载它们,我假设当我用npm打包它们时,不会发生这种情况,但现在我必须这样做。)
有什么方法可以防止这种情况发生吗?

    static operators = {
        'auto': [
            <MenuItem key="=" value="=">a=</MenuItem>,
            <MenuItem key="!=" value="!=">b&ne;</MenuItem>,
            <MenuItem key="like" value="like">c like</MenuItem>,
            <MenuItem key="not like" value="not like">d not like</MenuItem>
        ]
    };
静态运算符={
“自动”:[
a=,
b&ne;,
c像,
我不喜欢
]
};

你完全正确,你应该切换到“捆绑”你的js代码,否则你将陷入无法管理的竞争状态,类似于你现在的情况

要提供一个快速的黑客解决方案,您可以查看并尝试执行以下操作

<script>
  function loadOperators() {
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = "url to your operators component";
    $("head").append(s);
  }
</script>

<script type="text/javascript" src="url to MenuItem" onload="loadOperators()"></script>

函数loadOperators(){
var s=document.createElement(“脚本”);
s、 type=“text/javascript”;
s、 src=“操作员组件的url”;
$(“标题”)。追加;
}

您唯一能做的就是将该类声明移动到框架内容初始化后的某个点。声明是可执行代码,所有内容(实例属性除外)都将作为创建类所做工作的一部分进行评估。此外,
将停止对HTML容器的进一步评估,直到获取脚本并对其进行完全评估。哇,这太令人讨厌了。谢谢