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

react native[duplicate]中“函数应用程序()”和“类应用程序扩展组件”之间的差异

邵畅
2023-03-14

我刚开始学习react native,但有一件事我仍然不知道,‘函数App(){return()}’和‘类App扩展组件{render();return(…)}’之间的区别。我知道在第一个例子中我使用了“useState”,在第二个例子中我使用了“state”,但可以肯定的是,还有更多的差异,我似乎找不到一个好的答案。我不是说只在应用程序中。但是在每个js文件中。我看了很多教程,每次那个家伙随机使用其中一个,我都找不到一个规则来知道何时使用每一个,那么它们之间的区别是什么,何时使用每一个呢?

共有1个答案

史骏祥
2023-03-14

我从第一次解释就开始写,但是我知道你已经知道了。

在javascript中有几种类型的函数。常规函数“以小写字母开头”和构造函数“以大写字母开头”。构造函数用于生成对象。它们的功能是制造一个大物体。

构造函数示例:

    function Car(color){
      this.color = color;
      this.drive = () => console.log('driving');
    }

这些类在功能上与构造函数相同,事实上它们是语法糖,它们有预构建的帮助程序,使您能够以更简单的方式扩展另一个类或构造函数。

类示例:

    class Car = {
      constructor(color){
        this.color = color;
      }

      this.drive = () => console.log('driving');
    }

React中的组件是一个预构建的类,当您编写类似“class App extends React.component”的类时,您将使应用程序类成为一个组件。现在,当您在应用程序组件内部编写“render(){return(**)}”时,您为扩展组件提供了一个新功能,实际上是将render方法更新为一个新功能。

现在,功能组件是可以直接使用并将其导入react原生dom的生成器函数。

功能组件没有像“componentDidMount,…”这样的预构建方法但是你可以使用更灵活的新类型的React钩子。

结论:它们在功能上是相同的,但在功能组件中没有“componentDidMount,componentDidUpdate,…”之类的扩展方法但是您可以使用React钩子。

 类似资料:
  • 我对表达和node.js有点陌生,我不知道app.use和app.get.之间的区别。似乎你可以用它们来发送信息。例如: 似乎与此相同:

  • 问题内容: 在反应教程中: https://egghead.io/lessons/javascript-redux-react-todo-list-example- filtering-todos 有主要组件创建与扩展: 而另一个组件就像一个包含函数的const一样创建: 我看到的区别是,首先使用class创建的函数使用了render函数,另一个则使用return函数将模板发回。 有什么区别?我听

  • Node.js以单线程模式运行,但它使用事件驱动的范例来处理并发。 它还有助于创建子进程,以便在基于多核CPU的系统上利用并行处理。 子进程总是有三个流child.stdin , child.stdout和child.stderr ,它们可以与父进程的stdio流共享。 Node提供了child_process模块,该模块具有以下三种创建子进程的主要方法。 exec - child_process

  • 我正在做一个项目,该项目将有许多JavaFX应用程序,这些应用程序具有相似但又足够不同的功能,因此我创建了一个抽象基类来扩展Application以处理常见的功能并指示它们需要做什么,还创建了一系列具体的类来扩展这些功能。然而,当我试图跑的时候,我得到 应用程序构造函数java.lang.Reflect.InvocationTargetException位于java.base/jdk.intern

  • 本文向大家介绍函数与程序之间的差异,包括了函数与程序之间的差异的使用技巧和注意事项,需要的朋友参考一下 函数 在计算机编程语言环境中,功能是一组指令,这些指令需要一些输入并执行某些任务。在SQL中,函数返回一个值。 程序 过程也是一组指令,它们接受输入并执行某些任务。在SQL中,过程不返回值。在Java中,过程和函数是相同的,也称为子例程。 以下是SQL函数和SQL过程之间的重要区别。 序号 键

  • /library/frameworks/mono.framework/external/xbuild/xamarin/android/xamarin.android.common.targets:错误:执行任务生成器时出错JavaStubs:应用程序不能同时具有[Application]属性和[assembly:Application]属性的类型。(MyApp.Droid) 如果I applica

  • 本文向大家介绍Java 应用程序与小程序之间有哪些差别?相关面试题,主要包含被问及Java 应用程序与小程序之间有哪些差别?时的应答技巧和注意事项,需要的朋友参考一下 简单说应用程序是从主线程启动(也就是 方法)。applet 小程序没有 方法,主要是嵌在浏览器页面上运行(调用或者来启动),嵌入浏览器这点跟 flash 的小游戏类似。

  • 我正在尝试为我在google app engine上开发的应用程序部署两个不同版本的api。 我对留档感到非常困惑;关于版本控制如何工作的解释或示例似乎没有太多的一致性。(或者至少在我看来)。 这个问题的特定主题是本文中的一段:https://cloud.google.com/appengine/docs/python/endpoints/test_deploy 当您部署后端API时,您将其部署到