diff --git a/resources/assets/src/index.tsx b/resources/assets/src/index.tsx
index 8472cee9..4a3d822a 100644
--- a/resources/assets/src/index.tsx
+++ b/resources/assets/src/index.tsx
@@ -3,6 +3,7 @@ import * as React from 'react'
import ReactDOM from 'react-dom'
import './scripts/app'
import routes from './scripts/route'
+import * as emitter from './scripts/event'
Vue.config.productionTip = false
@@ -19,21 +20,25 @@ function loadModules() {
}
if (route.react) {
const Component = React.lazy(
- route.react as (() => Promise<{ default: React.ComponentType }>)
+ route.react as () => Promise<{ default: React.ComponentType }>,
)
const Root = () => (
)
- if (typeof route.el === 'string') {
- ReactDOM.render(, document.querySelector(route.el))
- } else {
- ReactDOM.render(, route.el)
- }
+ const c =
+ typeof route.el === 'string'
+ ? document.querySelector(route.el)
+ : route.el
+ ReactDOM.render(, c, () => {
+ emitter.emit('mounted', { el: route.el })
+ })
}
if (route.component) {
- Vue.prototype.$route = new RegExp(`^${route.path}$`, 'i').exec(blessing.route)
+ Vue.prototype.$route = new RegExp(`^${route.path}$`, 'i').exec(
+ blessing.route,
+ )
// eslint-disable-next-line no-new
new Vue({
el: route.el,