当React 18出现,create-react-app 创建项目遇到的小问题

一不留神,发现react版本已经升级至18,create-react-app里的react版本已经更新为18,但有一些模版还没改过来。

第一,如果安装模块说依赖于react@17.0的话,可以–force强制安装

npm i package-name --force

第二,v18修改了react-dom的使用方法,但因为用ts的模版创建的项目,react和react-dom的types还是老的,报告没有react-dom/client模块,因此在package.json中,删掉dependencies里的@types/react和@types/react-dom,重新安装

npm i @types/react @types/react-dom

这样再使用react-dom/client就可以了

import { createRoot } from 'react-dom/client'

const root = createRoot(document.getElementById('root') as Element)
root.render(
  <React.StrictMode>
    <Provider store={store}>
      <App />
    </Provider>
  </React.StrictMode>
)