React native 与x27之间的差异;函数App()';和';类应用程序扩展组件';以自然反应

React native 与x27之间的差异;函数App()';和';类应用程序扩展组件';以自然反应,react-native,cross-platform,react-native-cli,React Native,Cross Platform,React Native Cli,我刚开始学习react native,但有一件事我仍然不知道,‘函数App(){return()}’和‘类App扩展组件{render();return(…)}’之间的区别。我知道在第一个例子中我使用了“useState”,在第二个例子中我使用了“state”,但可以肯定的是,还有更多的差异,我似乎找不到一个好的答案。我的意思不仅仅是在App.js中,而是在每个js文件中。我看了很多教程,每次那个家伙随机使用其中一个,我都找不到一个规则来知道什么时候使用每一个,那么它们之间有什么区别,什么时候使

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

我从第一个解释开始写,但我知道你已经知道了

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

构造函数示例:

功能车(彩色){
这个颜色=颜色;
this.drive=()=>console.log('driving');
}
这些类在功能上与构造函数相同,事实上它们是语法糖,它们有预构建的帮助程序,使您能够以更简单的方式扩展另一个类或构造函数

课堂示例:

class-Car={
构造器(颜色){
这个颜色=颜色;
}
this.drive=()=>console.log('driving');
}
React中的组件是一个预构建的类,当您编写类似“class App extends React.component”的类时,您将使应用程序类成为一个组件。现在,当您在应用程序组件内部编写“render(){return(**)}”时,您为扩展组件提供了一个新功能,实际上是将render方法更新为一个新功能

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

功能组件没有像“componentDidMount,…”这样的预构建方法,但您可以使用更灵活、更新颖的React挂钩

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