我想使用npx create-react-app .
来生成一个新的 react 应用程序,但我希望更改版本,以便它使用类结构而不是新的钩子结构生成。
我尝试更改 package.json 中react
和React-DOM
的版本并运行npm i
但它不会覆盖旧应用程序。
如果我没记错的话,创建的样板 App.js 根本不使用钩子,但它确实使用了功能组件。只需将其替换为类似的东西:
功能组件版本:
import React from 'react';
function App() {
return (
< ...this will go inside the render() method... >
);
}
类组件:
import React, { Component } from 'react';
class App extends Component {
render() {
return (< ... >)
}
}
不要忘记导入{ Component }
,或者使用extends React.Component
。
我昨天确实使用了npx create-react-app,生成的应用程序是基于类的。
解决方案 1( 尝试再次运行 npx 创建-反应-应用程序
解决方案 2( 如果您运行 npx 创建 react-app,它仍然会为您生成基于钩子的应用程序。 您可以删除基于钩子的组件并执行自己的基于类的组件。 此外,CRA还提供该应用程序.js您可以根据需要轻松更改该应用程序。 如果你使用的是 Vscode,那么 react 扩展可以轻松帮助创建 React 类组件。
您可以在创建-反应-应用程序后使用--scripts-version {script version}
。
示例:create-react-app --scripts-version 1.1.5
它将使用类而不是函数创建脚本。
在此处查看所有脚本版本