Я хочу иметь возможность связывать приложение React с Webpack таким образом, чтобы распределенные копии, помещенные на CDN, могли быть получены, вызваны и инициализированы с помощью конфигурации конфигурации, относящейся к клиенту.
После прочтения этого и this, я настраиваю свою запись в webpack файл следующим образом:
// ... React requires etc.
(() => {
this.MyApp = (config) => {
// some constructor code here
}
MyApp.prototype.init = () => {
ReactDOM.render(<MyReactApp config={MyApp.config} />, someSelector);
}
})();
Идея заключается в том, что в моем клиенте я могу сделать что-то вроде следующего:
<script src="./bundle.js" type="text/javascript"></script>
<script type="text/javascript">
MyApp.init({
some: "config"
});
</script>
И моя функция MyApp#init
отобразит мое приложение React внутри некоторого контейнера на клиенте.
Я думаю об этом правильно? Есть ли более простой или эффективный способ сделать это?
Моя ошибка Uncaught TypeError: Cannot set property 'MyApp' of undefined
, так как this
внутри IIFE undefined
. Мне бы очень хотелось понять, почему это происходит, и советы о том, как это исправить.
Спасибо заранее!