Reac 组件的三种创建方式
一、函数组件
函数组件是 Reac 中最简单的组件形式,它就像一个普通的函数一样,接受一些参数并返回一些 Reac 元素。下面是创建一个简单的函数组件的例子:
```jsxfucio MyCompoe(props) { reur u003ch1u003eHello, {props.ame}u003c/h1u003e;}```在这个例子中,我们定义了一个名为 `MyCompoe` 的函数,它接受一个名为 `props` 的参数,并返回一个 `h1` 元素,其中包含一些动态文本。我们可以将这个组件像这样使用:
```jsxu003cMyCompoe ame=
二、类组件
类组件是 Reac 中比较常见的组件形式,它使用 JavaScrip 类来定义组件,并具有一些额外的功能,例如状态管理和生命周期方法等。下面是创建一个简单的类组件的例子:
```jsxclass MyCompoe exeds Reac.Compoe { cosrucor(props) { super(props); his.sae = { ame: 'World' }; }
reder() { reur u003ch1u003eHello, {his.sae.ame}u003c/h1u003e; }}```在这个例子中,我们定义了一个名为 `MyCompoe` 的类,它继承了 `Reac.Compoe` 类。这个类有一个 `cosrucor` 方法,它接受一个 `props` 参数并调用 `super(props)` 来初始化父类的 `his.props` 属性。然后,它设置一个名为 `ame` 的状态变量,并将其初始值设置为 我们可以将这个组件像这样使用:
```jsxu003cMyCompoe ame=
三、Hook组件
Hook 组件是 Reac 16.8 版本引入的一种新的组件形式,它使用函数式编程的思想来创建组件,并使用 Reac Hook API 来访问组件的状态和其他值。下面是创建一个简单的 Hook 组件的例子:
```jsxjsximpor { useSae } from 'reac';
fucio MyCompoe() { cos [ame, seame] = useSae('World'); cos greeig = 'Hello, '; reur ( u003cdivu003e u003cpu003e{greeig ame}u003c/pu003e u003cbuo oClick={() =u003e seame('Mars')}u003eChage ameu003c/buou003e u003c/divu003e );}```