组件(react)

React 通过组件的思想,将应用界面拆分成一个个可复用的模块,每一个模块就是一个 React 组件。一个 React 应用由若干组件组合而成,一个组件由若干个 React 元素组合而成,一个复杂组件也可以由若干简单组件组合而成。

组件式开发比模块化开发将应用界面拆分的更细,更高效的提升了代码的复用性。

一、组件的分类
React 中组件可以分为两类:

函数组件:以 JS 中函数的形式设置组件,函数名即为组件名;
类组件:以 ES6 中 class 的形式设置组件,类名即为组件名;
1、创建组件文件
通常我们会为每一个 React 组件单独创建一个文件,文件命名和组件命名需要注意以下规则:

文件名可以和组件名不一致,但是通常建议设置为同一个单词;
组件名必须首字母大写;
文件后缀名可以是 .js 也可以是 .jsx,建议使用 .jsx,语法提示更完整;
2、函数式组件
在一个普通的 JS 函数中,通过 return 关键字返回一个 React 元素。该函数是一个有效的 React 函数式组件:

export default function FunctionComponent() {
    return (
        <div>
            <h1>这是函数组件</h1>
        </div>
    )
}

通过插件提供的快捷键 rfc 可以自动生成一个函数组件。

3、类组件
类组件是指使用 ES6 中的 class,通过继承 React.Component 来定义组件:

import { Component } from 'react'

export default class ClassComponent extends Component {
    render() {
        return (
            <div>
                <h1>这是类组件</h1>
            </div>
        )
    }
}

通过插件提供的快捷键 rcc 可以自动生成一个函数组件。

无论是函数式组件还是类组件,最终组件 return 的都是 React 元素,而 return 的 React 元素本质上则又调用了 React.createElement() 方法。

二、组件嵌套
一个 React 应用会由很多很多的 React 组件构成,所以我们的组件之间还可以进行互相的组合嵌套。

import ClassComponent from './ClassComponent.jsx'
import FunctionComponent from './FunctionComponent'
export default function Father() {
    return (
        <div>
            <FunctionComponent></FunctionComponent>
            <ClassComponent></ClassComponent>
        </div>
    )
}

三、Fragment
React 组件中在通过 return 返回组件模版时,和 Vue 一样要求只能有一个根节点。除了像 Vue 中一样在最外层包裹一个

以外,React16 中还提供了其他的解决方案 —— Fragment,用来表示不可见的包裹元素。

import { Component, Fragment } from 'react'

export default class ClassComponent extends Component {
    render() {
        return (
            <Fragment>
                <h1>这是类组件</h1>
                <h1>这是类组件</h1>
            </Fragment>
        )
    }
}

短语法
如果你记不住 Fragment 这个单词,还可以直接用 Fragment 的简写形式 <></>:

export default function FunctionComponent() {
    return (
        <>
            <h1>这是函数组件</h1>
            <h1>这是函数组件</h1>
        </>
    )
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React 中,你可以使用 `react-datepicker` 组件来创建一个只包含年份的日期选择器。这个组件允许用户选择年份,并且提供了一些自定义选项,以适应你的需求。 首先,你需要安装 `react-datepicker` 包。在命令行中运行以下命令: ``` npm install react-datepicker ``` 或者,如果你使用的是 yarn: ``` yarn add react-datepicker ``` 然后,在你的 React 组件中,你可以导入并使用 `react-datepicker` 组件。以下是一个基本的例子: ```jsx import React, { useState } from 'react'; import DatePicker from 'react-datepicker'; import 'react-datepicker/dist/react-datepicker.css'; const YearPicker = () => { const [selectedYear, setSelectedYear] = useState(null); const handleYearChange = (year) => { setSelectedYear(year); }; return ( <DatePicker selected={selectedYear} onChange={handleYearChange} dateFormat="yyyy" showYearPicker /> ); }; export default YearPicker; ``` 在上面的例子中,我们创建了一个 `YearPicker` 组件,它使用了 `react-datepicker` 组件来实现一个只包含年份的选择器。我们使用 `useState` 钩子来保存选中的年份,并在 `handleYearChange` 函数中更新它。 在 `DatePicker` 组件中,我们将 `selected` 属性设置为 `selectedYear` 变量,并将 `onChange` 属性设置为 `handleYearChange` 函数。我们还使用 `dateFormat` 属性将日期格式设置为仅包含年份的格式,并且通过设置 `showYearPicker` 属性来显示年份选择器。 你可以根据需要进一步自定义 `YearPicker` 组件,例如添加样式或自定义选项。这只是一个基本的例子,希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值