当前位置: 首页 > 知识库问答 >
问题:

从有状态到无状态的反应组件(差异)

曾新立
2023-03-14
import React from "react";

export class Mycomponent extends React.Component {
    render() {
        return (

            <div>
                <p>My Component</p>
            </div>

        );
    }
}

共有1个答案

鲁烨
2023-03-14

react状态完整组件通常具有类语法并扩展react组件基类。这使您能够访问react生命周期方法,如render、componentDidMount等。

另一方面,无状态函数组件只不过是返回JSX的函数。您不在react生命周期中,并且没有访问组件基类方法的权限。

下面是一些无状态功能组件的示例代码。

export default function example() {
    return (
        <h1>This is where the jsx goes</h1>
    )
}
export default function example(props) {
    return (
        <h1>{props.person.firstName}</h1>
    )
}
 类似资料:
  • 问题内容: 我不知道我是否正确地执行了操作…如果要从输入中获取值,请使用this.refs.whatever.value.trim(),但是如果该输入是无状态函数组件,我该怎么办检索值onSubmit? 我知道这在研究之后是不正确的,但是您应该如何从这些输入字段中获取价值? 这是无状态输入字段 问题答案: 编辑:看起来这不再是问题,因为自编写此答案以来出现了有关如何处理这种情况的新想法。请参阅in

  • 问题内容: 在React中,这两种实现之间有什么真正的区别?一些朋友告诉我,FirstComponent是模式,但是我不明白为什么。SecondComponent看起来更简单,因为渲染仅被调用一次。 第一: 第二: 更新:我将setState()更改为this.state = {}(感谢joews),但是,我仍然看不到区别。一个比另一个好吗? 问题答案: 应该注意的是,复制永远不会更改为状态的属性

  • 我对状态同步有问题。当我点击编辑器的外部(想要关闭它),我想把实际的文本传回给父节点(函数)。但是当我在之外单击时,状态似乎总是落后一步。(例如:如果编辑器内部有,我键入,,我键入,等等)。 如果我在编辑器外单击,将出现的实际状态,如何实现这一点?

  • 我已经用ReactJS和ES6进行了几天的实验,并创建了两个组件,即

  • 在我的React JS项目中,我正在处理。我已经通过了使用进行私有路由和身份验证的示例。 https://reacttraining.com/react-router/web/example/auth-workflow 根据这个留档,他们创建了一个作为无状态组件。 但我的要求是将其转换为有状态的React组件,因为我想将我的组件连接到redux存储。 这是我的代码。 无状态组件 我将这个组件转换成

  • 问题内容: 我处于状态的对象数组: 我需要能够基于id属性搜索items数组,然后更新对象属性。 我可以使用id参数通过数组或在数组上获取对象。 我遇到的麻烦是更新数组,然后更新状态而不会发生突变。 此时,我有一个匹配的对象,可以使用对象传播来更新它的属性: 我的问题是我该如何更新状态,以使其覆盖初始查找操作返回的对象? 问题答案: 您的更新功能如下所示 你这样使用它 毛吧? 如果您继续以这种方式