Skip to content

Commit

Permalink
fix: 同时兼容 React 19 和 React 16
Browse files Browse the repository at this point in the history
  • Loading branch information
lujun2 committed Nov 4, 2024
1 parent c88b4cb commit 1300225
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/utils/render.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { ReactElement } from 'react'
import * as ReactDOM from 'react-dom'
import { type Root, createRoot as createClientRoot } from 'react-dom/client'
import { type Root } from 'react-dom/client'

// 移植自rc-util: https://github.com/react-component/util/blob/master/src/React/render.ts

Expand All @@ -21,9 +21,10 @@ const { version, render: reactRender, unmountComponentAtNode } = fullClone
let createRoot: CreateRoot
try {
const mainVersion = Number((version || '').split('.')[0])
const createReactRoot = createClientRoot || fullClone.createRoot
if (mainVersion >= 18 && createReactRoot) {
createRoot = createReactRoot
if (mainVersion >= 18) {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { createRoot: createRootV18 } = require('react-dom/client')
createRoot = createRootV18 || fullClone.createRoot
}
} catch (e) {
// Do nothing;
Expand Down

0 comments on commit 1300225

Please sign in to comment.