Инициализация статического члена класса JS происходит до загрузки зависимости cdn - PullRequest
1 голос
/ 02 апреля 2019

Я объявил этого участника класса, но получаю ошибку MenuItem не определено .
Очевидно, что инициализация класса происходит до завершения загрузки React или Material-UI (я загружаю их из их CDN с прямыми <script> с, я предполагаю, что не произойдет , когда я упаковываю их с 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>
        ]
    };

1 Ответ

1 голос
/ 03 апреля 2019

Вы абсолютно правы в том, что вам следует переключиться на "связывание" своего js кода, в противном случае вы окажетесь в неуправляемом количестве состояний гонки, аналогичных тем, что у вас есть сейчас.

Чтобы обеспечить быстрое хакерское решение, вы можете взглянуть на onload HTML-событие и попробовать сделать что-то вроде

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...