在react中使用createRoot,但仍然收到有关ReactDOM.render的折旧警告

问题描述 投票:0回答:1

我最近切换到了 React 18,还发现 reactDOM.render 已经被贬值了。 我相应地进行了更改,现在我的 index.js 看起来像

import React from "react";
import { createRoot } from "react-dom/client";
import "./index.css";
import { ChakraProvider } from "@chakra-ui/react";
import App from "./App";

const root = createRoot(document.getElementById("root"));
root.render(
  <React.StrictMode>
    <ChakraProvider>
      <App />
    </ChakraProvider>
  </React.StrictMode>
);

反应应用程序工作正常,但每次重新渲染我的应用程序时都会生成此错误以进行控制台。 我尝试通过以下方式解决此问题:-

  1. 重新启动应用程序
  2. const root = ReactDOM.createRoot(document.getElementById('root'));
  3. 删除
    package-lock.json
    ,然后重新安装。

警告:React 18 中不再支持 ReactDOM.render。请改用 createRoot。在您切换到新 API 之前,您的应用程序的行为就像运行 React 17 一样。

这可能是版本问题吗,因为我的应用程序不受此警告的影响? 我正在开发这些版本

"react": "^18.2.0",
"react-chips": "^0.8.0"
"react-dom": "^18.2.0",

但是如果有人知道的话请帮助我,这有点烦我。

谢谢你

javascript reactjs chakra-ui
1个回答
1
投票

更新@chakra-ui/react的版本。旧版本不适用于react18。新版本的@chakra-ui/react后错误将消失。

© www.soinside.com 2019 - 2024. All rights reserved.