From d3ebd0432eb537026403d0e1fbe9035698b83c83 Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Sun, 25 Oct 2020 10:55:58 +0800 Subject: [PATCH] enable React strict mode --- resources/assets/src/index.tsx | 57 ++++++++++++++++------------------ 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/resources/assets/src/index.tsx b/resources/assets/src/index.tsx index fd68a0fc..735d88b3 100644 --- a/resources/assets/src/index.tsx +++ b/resources/assets/src/index.tsx @@ -1,46 +1,41 @@ import * as React from 'react' -import ReactDOM from 'react-dom' +import * as ReactDOM from 'react-dom' import './scripts/app' import routes from './scripts/route' -loadModules() - if (process.env.NODE_ENV === 'development') { window.React = React window.ReactDOM = ReactDOM } -async function loadModules() { - if (blessing.route.startsWith('admin')) { - const entry = document.querySelector('#launch-cli') - entry?.addEventListener('click', async () => { - const { launch } = await import('./scripts/cli') - launch() - }) - } +if (blessing.route.startsWith('admin')) { + const entry = document.querySelector('#launch-cli') + entry?.addEventListener('click', async () => { + const { launch } = await import('./scripts/cli') + launch() + }) +} - const route = routes.find( - // eslint-disable-next-line no-shadow - (route) => new RegExp(`^${route.path}$`, 'i').test(blessing.route), - ) - if (route) { - if (route.module) { - Promise.all(route.module.map((m) => m())) - } - if (route.react) { - const Component = React.lazy( - route.react as () => Promise<{ default: React.ComponentType }>, - ) - const Root = () => ( +const route = routes.find((route) => + new RegExp(`^${route.path}$`, 'i').test(blessing.route), +) +if (route) { + if (route.module) { + Promise.all(route.module.map((m) => m())) + } + if (route.react) { + const Component = React.lazy( + route.react as () => Promise<{ default: React.ComponentType }>, + ) + const Root = () => ( + - ) - const c = - typeof route.el === 'string' - ? document.querySelector(route.el) - : route.el - ReactDOM.render(, c) - } + + ) + const c = + typeof route.el === 'string' ? document.querySelector(route.el) : route.el + ReactDOM.render(, c) } }