#yyds干货盘点# react笔记之学习之类组件

简介: #yyds干货盘点# react笔记之学习之类组件

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 微信公众号前端小歌谣 关注公众号带你进入前端学习交流群

类组件

/*

* 类组件的props是存储到类的实例对象中,

* 可以直接通过实例对象访问

* this.props

* 类组件中state统一存储到了实例对象的state属性中

* 可以通过 this.state来访问

* 通过this.setState()对其进行修改

* 当我们通过this.setState()修改state时,

* React只会修改设置了的属性

*

* 函数组件中,响应函数直接以函数的形式定义在组件中,

* 但是在类组件中,响应函数是以类的方法来定义,之前的属性都会保留

* 但是这你仅限于直接存储于state中的属性

*

* 获取DOM对象

* 1.创建一个属性,用来存储DOM对象

* divRef = React.createRef();

* 2.将这个属性设置为指定元素的ref值

* */

代码案例

import React, {Component} from 'react';
class User extends Component {
    /*
    *   类组件的props是存储到类的实例对象中,
    *       可以直接通过实例对象访问
    *       this.props
    *   类组件中state统一存储到了实例对象的state属性中
    *       可以通过 this.state来访问
    *       通过this.setState()对其进行修改
    *           当我们通过this.setState()修改state时,
    *               React只会修改设置了的属性
    *
    *   函数组件中,响应函数直接以函数的形式定义在组件中,
    *       但是在类组件中,响应函数是以类的方法来定义,之前的属性都会保留
    *       但是这你仅限于直接存储于state中的属性
    *
    *   获取DOM对象
    *       1.创建一个属性,用来存储DOM对象
    *           divRef = React.createRef();
    *       2.将这个属性设置为指定元素的ref值
    * */
    // 创建属性存储DOM对象
    divRef = React.createRef();
    // 向state中添加属性
    state = {
        count: 0,
        test: '哈哈',
        obj: {name: '孙悟空', age: 18}
    };
    // 为了省事,在类组件中响应函数都应该以箭头函数的形式定义
    clickHandler = () => {
        // this.setState({count: 10});
        // this.setState(prevState => {
        //     return {
        //         count: prevState + 1
        //     }
        // });
        /*this.setState({
            obj:{...this.state.obj, name:'沙和尚'}
        });*/
        console.log(this.divRef);
    };
    render() {
        // console.log(this.props);
        // console.log(this.divRef);
        return (
            <div ref={this.divRef}>
                <h1>{this.state.count} --- {this.state.test}</h1>
                <h2>{this.state.obj.name} --- {this.state.obj.age}</h2>
                <button onClick={this.clickHandler}>点</button>
                <ul>
                    <li>姓名:{this.props.name}</li>
                    <li>年龄:{this.props.age}</li>
                    <li>性别:{this.props.gender}</li>
                </ul>
            </div>
        );
    }
}
export default User;
相关文章
|
4天前
|
前端开发 JavaScript 数据可视化
使用React的函数式组件实现一个具有过渡变化、刻度切换、点击高亮的柱状图DIY组件
本文展示了如何使用React的函数式组件实现一个具有过渡变化、刻度切换、点击高亮效果的自定义柱状图组件,并提供了完整的示例代码和实现效果。
10 1
使用React的函数式组件实现一个具有过渡变化、刻度切换、点击高亮的柱状图DIY组件
|
2天前
|
前端开发
如何编写React函数组件
【8月更文挑战第17天】如何编写React函数组件
7 2
|
5天前
|
前端开发 JavaScript
|
4天前
|
前端开发 C++
使用 Vite 创建 React+TS+SW 项目并整合 AntDesign 、Scss 等组件或插件
本文记录了如何使用Vite创建一个React+TypeScript+Service Workers(SW)项目,并整合AntDesign组件库和Scss等插件,包括项目的创建、配置问题解决、AntDesign和Scss的整合方法。
16 1
|
10天前
|
前端开发 JavaScript 开发者
React组件与JSX之间的区别是什么
【8月更文挑战第9天】 React组件与JSX之间的区别是什么
29 4
|
7天前
|
前端开发 数据安全/隐私保护
React——受控组件和非受控组件【八】
React——受控组件和非受控组件【八】
20 0
|
7天前
|
前端开发 JavaScript
React——组件的三大核心属性【七】
React——组件的三大核心属性【七】
16 0
|
7天前
|
Web App开发 前端开发 JavaScript
React——前端开发中模块与组件【四】
React——前端开发中模块与组件【四】
16 0
|
7天前
|
前端开发 JavaScript UED
React 基础与实践 | 青训营笔记
React 基础与实践 | 青训营笔记
12 0
|
1月前
|
存储 前端开发 JavaScript
前端框架与库 - React基础:组件、Props、State
【7月更文挑战第12天】React是JavaScript库,专注UI构建,基于组件化。组件是UI模块,可函数式或类定义。Props是组件间安全传递数据的只读参数,用defaultProps和propTypes保证正确性。State则是组件内部可变数据,用于驱动更新。使用setState()确保正确变更和渲染。了解并妥善处理这些概念是高效React开发的基础。