Javascript 反应功能组件与类组件

Javascript 反应功能组件与类组件,javascript,reactjs,react-native,react-hooks,Javascript,Reactjs,React Native,React Hooks,在过去的3个月里,我是React的初学者,但是,实现组件的方法分为两种:函数式和类式。截至2021年,学习、功能性风格或课堂风格组件的发展路径 从长远来看,可能在未来5年内,开发方法将如何适应 基于这种风格,我可以专注于特定组件风格的设计模式和体系结构风格 我认为您要问的问题是钩子与类,因为功能组件从React一开始就存在了。在使用钩子之前,对功能组件的使用有一定的限制,必须使用类组件来创建React应用程序。但是,自从引入了钩子之后,现在您可以对功能组件中的类做任何可以做的事情 Hooks绝

在过去的3个月里,我是React的初学者,但是,实现组件的方法分为两种:函数式和类式。截至2021年,学习、功能性风格或课堂风格组件的发展路径

  • 从长远来看,可能在未来5年内,开发方法将如何适应
  • 基于这种风格,我可以专注于特定组件风格的设计模式和体系结构风格

我认为您要问的问题是钩子与类,因为功能组件从React一开始就存在了。在使用钩子之前,对功能组件的使用有一定的限制,必须使用类组件来创建React应用程序。但是,自从引入了钩子之后,现在您可以对功能组件中的类做任何可以做的事情

Hooks绝对是现在要走的路。React文档中甚至提到了它:

从长远来看,我们希望钩子是人们编写组件的主要方式


我认为您要问的问题是钩子与类,因为功能组件从React开始就存在了。在使用钩子之前,对功能组件的使用有一定的限制,必须使用类组件来创建React应用程序。但是,自从引入了钩子之后,现在您可以对功能组件中的类做任何可以做的事情

Hooks绝对是现在要走的路。React文档中甚至提到了它:

从长远来看,我们希望钩子是人们编写组件的主要方式


从长远来看,您应该关注功能组件,因为react团队建议使用功能组件来管理组件的状态


但这并不意味着您应该完全忽略类组件。原因是在职业生涯中,您可能会提出在引入使用类组件的钩子之前编写的代码库,并且不允许您将其重构为功能组件(不这样做可能有各种原因)在这种情况下,您对类组件的了解将派上用场。

从长远来看,您应该关注功能组件,因为react团队建议使用功能组件来管理组件的状态


但这并不意味着您应该完全忽略类组件。原因是在职业生涯中,您可能会提出在引入使用类组件的钩子之前编写的代码库,并且不允许您将其重构为功能组件(不这样做可能有各种原因)在这种情况下,您对类组件的了解将派上用场。

我不想提及其他人,我想分享我的经验,当我需要调用操作或API调用时,我将使用类组件,当我需要状态更改和灵活的数据更改时,请使用功能组件

看看这个例子,你会发现哪一个更好:

注意:在输入中传递相同值时也要进行检查

类组件:

let appender=0;
类应用程序扩展了React.Component{
状态={
您好:“
}
setHello=(value)=>this.setState({hello:value})
render(){
返回(
你好{这个州,你好}
依附体:{++appender}

) } } 让ChildRender=0; 子类扩展了React.Component{ 状态={ 投入:“世界” } 按钮句柄=()=>{ this.props.setHello(this.state.input) } inputHandler=(e)=>{ this.setState({input:e.target.value}) } componentDidMount(){ this.props.setHello(this.state.input) }; render(){ 返回( ChildRender:{++ChildRender}

打招呼 ) } } render(,document.getElementById(“react”)
我不想提及其他人,我想分享我的经验,当我想调用动作或API调用时,我会使用类组件,当我想更改状态和灵活的数据更改时,我会使用功能组件

看看这个例子,你会发现哪一个更好:

注意:在输入中传递相同值时也要进行检查

类组件:

let appender=0;
类应用程序扩展了React.Component{
状态={
您好:“
}
setHello=(value)=>this.setState({hello:value})
render(){
返回(
你好{这个州,你好}
依附体:{++appender}

) } } 让ChildRender=0; 子类扩展了React.Component{ 状态={ 投入:“世界” } 按钮句柄=()=>{ this.props.setHello(this.state.input) } inputHandler=(e)=>{ this.setState({input:e.target.value}) } componentDidMount(){ this.props.setHello(this.state.input) }; render(){ 返回( ChildRender:{++ChildRender}

打招呼 ) } } render(,document.getElementById(“react”)
它们之间几乎没有什么可供选择的,但您会发现现在有很多教程和指南都是为功能组件编写的,对于刚刚起步的人来说,您可能希望坚持使用您可以轻松找到相关信息的内容。而且甚至React团队也更加关注功能组件,我坚信类组件将在未来几年内悄然淘汰,因此可能会使用功能组件。

它们之间几乎没有选择余地,但您会发现现在有很多教程和指南都是为功能组件编写的,对于一个刚刚起步的人来说,你可能想要坚持你能轻易找到的东西