import React from 'react';
import * as ReactDOMClient from 'react-dom/client';
import App from './App';
import reportWebVitals from './reportWebVitals';
const rootElement = document.getElementById("root");
// This opts into the new behavior!
ReactDOMClient.createRoot(rootElement as HTMLElement).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
reportWebVitals();
如果执行此代码,则会出现如下错误。
找不到模块“react-dom/client”的声明文件。 'E:/Workspace/React/welcomedev-react-starter/node_modules/react-dom/client.js' 隐式具有 'any' 类型。
尝试npm i --save-dev @types/react-dom
如果存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module 'react-dom/client';
1 |从“反应”导入反应;
2 |从'react-dom/client'导入*作为ReactDOMClient;
| ^^^^^^^^^^^^^^^^^^^
3 |从“./App”导入应用程序;
4 |从'./reportWebVitals'导入reportWebVitals;
我想要答案。
确保您安装了正确的类型版本。尝试运行:
npm install --save-dev @types/react@18 @types/react-dom@18
不要依赖 IDE 来正确获取所有内容。就我而言,我必须手动输入导入并使用createRoot
像这样:
import { createRoot } from 'react-dom/client';
const root = createRoot(document.getElementById('root')!); // notice the '!'
root.render(<App />);
请注意,您需要如何通过感叹号(“!”)告诉打字稿您确定您的根不会为空。查看更多信息“客户端渲染 API 更新” https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html#updates-to-client-rendering-apis
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)