Fixes react version warning (#80920)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/42397676/0058532e-0cbe-4ad6-8449-7d0407fa3c86)

[https://reactjs.org/link/switch-to-createroot](https://reactjs.org/link/switch-to-createroot)
## Why It's Good For The Game
Fixes #80432
## Changelog
N/A

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
This commit is contained in:
Jeremiah
2024-01-12 18:04:56 -07:00
committed by GitHub
co-authored by Mothblocks
parent 15f4f76193
commit ee202d6e53
3 changed files with 11 additions and 7 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ plugins:
- simple-import-sort
settings:
react:
version: '16.10'
version: '18.2'
rules:
## Possible Errors
## ----------------------------------------
@@ -1,3 +1,5 @@
/* eslint-disable react/no-deprecated */
// TODO: Rewrite as an FC, remove this lint disable
import { createPopper, Placement, VirtualElement } from '@popperjs/core';
import { Component, ReactNode } from 'react';
import { findDOMNode, render } from 'react-dom';
+8 -6
View File
@@ -1,11 +1,12 @@
import { perf } from 'common/perf';
import { render } from 'react-dom';
import { ReactNode } from 'react';
import { createRoot, Root } from 'react-dom/client';
import { createLogger } from './logging';
const logger = createLogger('renderer');
let reactRoot: any;
let reactRoot: Root;
let initialRender: string | boolean = true;
let suspended = false;
@@ -20,7 +21,7 @@ export const suspendRenderer = () => {
};
type CreateRenderer = <T extends unknown[] = [unknown]>(
getVNode?: (...args: T) => any,
getVNode?: (...args: T) => ReactNode,
) => (...args: T) => void;
enum Render {
@@ -33,13 +34,14 @@ export const createRenderer: CreateRenderer = (getVNode) => (...args) => {
perf.mark(Render.Start);
// Start rendering
if (!reactRoot) {
reactRoot = document.getElementById('react-root');
const element = document.getElementById('react-root');
reactRoot = createRoot(element!);
}
if (getVNode) {
render(getVNode(...args), reactRoot);
reactRoot.render(getVNode(...args));
}
else {
render(args[0] as any, reactRoot);
reactRoot.render(args[0] as any);
}
perf.mark(Render.Finish);
if (suspended) {