react 纯函数组件_react类组件

react 纯函数组件_react类组件纯函数PureFunction定义:一个函数的返回结果只依赖于它的参数,并且在执行的过程中没有副作用,我们就把该函数称作纯函数。特点1.函数的返回结果只依赖于它的参数。letfoo=(a,b)=>a+bfoo(1,2)//=32.函数执行过程里面没有副作用。什么是副作用除了修改外部的变量,一个函数在执行过程中还有很多方式产生外部可观察的变化,比如说调用DOMAPI修改页面,或者你发送了Ajax请求,还有调用window.reload刷新浏览器,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

纯函数 Pure Function

定义:一个函数的返回结果只依赖于它的参数,并且在执行的过程中没有副作用,我们就把该函数称作纯函数。

特点

1. 函数的返回结果只依赖于它的参数。

let foo=(a, b)=>a+b
foo(1,2) //=3

Jetbrains全家桶1年46,售后保障稳定

2. 函数执行过程里面没有副作用。

什么是副作用
除了修改外部的变量,一个函数在执行过程中还有很多方式产生外部可观察的变化,比如说调用 DOM API 修改页面,或者你发送了 Ajax 请求,还有调用 window.reload 刷新浏览器,甚至是 console.log 往控制台打印数据也是副作用。

 

3.没有额外的状态依赖

指方法内的状态都只在方法的生命周期内存活,这意味着不能在方法内使用共享变量,因为会带来不可知因素。

为什么需要纯函数?
因为纯函数非常“靠谱”,执行一个纯函数你不用担心它会干什么坏事,它不会产生不可预料的行为,也不会对外部产生影响。不管何时何地,你给它什么它就会乖乖地吐出什么。如果你的应用程序大多数函数都是由纯函数组成,那么你的程序测试、调试起来会非常方便。

 

函数组件

函数组件只有当展示视图的时候才用。做复杂的数据处理、需要有自己的状态的时候,需要用类组件。

函数组件的缺点:

无状态组件
函数组件只能实现非常简单的渲染功能。只是进行页面的展示和数据的渲染。没有逻辑的处理。也就是组件的内部是没有自己的数据和状态的。它是无状态组件。
无状态组件的使用时机是当且仅当数据展示、不需要逻辑处理的时候来使用。

没有this
打印内部的this。得到undefined。
function fn(props){

  console.log(“打印函数组件内部的this:”,this)
}

react 纯函数组件_react类组件

没有生命周期
函数组件内部也没有生命周期。

父组件调用pure

import React, { Component } from 'react';
import Pure from './Pure.jsx
export default class App extends Component {
    constructor(props){
        super(props);
        this.state = {
        };
    }
    render() {
        return (
            <React.Fragment>
                <div>这里是父组件</div>
                <Pure name={'小明'} age={20}/>
            </React.Fragment>
        )
    }

}

纯函数组件pure.jsx 

import React from 'react';
function Pure (props) {
    console.log(props,this)
    return <div>我叫{props.name},今年{props.age}</div>
}

export default Pure

react 纯函数组件_react类组件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219984.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月4日 下午5:43
下一篇 2025年7月4日 下午6:15


相关推荐

  • BitBlt介绍

    BitBlt介绍

    2021年12月7日
    50
  • python保存文件的几种方式「建议收藏」

    python保存文件的几种方式「建议收藏」当我们获取到一些数据时,例如使用爬虫将网上的数据抓取下来时,应该怎么把数据保存为不同格式的文件呢?下面会分别介绍用python保存为txt、csv、excel甚至保存到mongodb数据库中文件的方法。保存为txt文件首先我们模拟数据是使用爬虫抓取下来的,抓取的下来的数据大致就是这样的下面使用代码保存为txt文件importrequestsfromlxmlimportetr…

    2022年4月19日
    95
  • PhpStorm 2021 激活码【永久激活】

    (PhpStorm 2021 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlML…

    2022年3月21日
    92
  • shx文件怎么导入cad_「设计师必备技能」打开cad图纸缺少shx字体,图纸乱码怎么办?…

    shx文件怎么导入cad_「设计师必备技能」打开cad图纸缺少shx字体,图纸乱码怎么办?…日常工作中打开甲方还是什么方的图纸 提示缺少一个或多个 shx 字体 这是最为常见的问题了 那么遇到这类问题怎么解决呢 很多学习没多久或者用了很长时间软件的朋友都有这个问题 如下图 如上图 提示缺少一个 shx 字体 这时有两种解决方案 方法一 点击为每个 shx 文件指定替换的文件弹出指定字体给样式的对话框 这时有两种选择 1 找到左下角提示未找到字体放 CAD 安装目录 fonts 里 再次打开即可 打开 CAD 自

    2026年3月18日
    3
  • networkx是什么

    networkx是什么networkx简介:networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据结构,顶点表示数据,边是由两个顶点唯一确定的,表示两个顶点之间的关系。顶点和边也可以拥有更多的属性,以存储更多的信息。对于networkx创建的无向图,允许一条边的两个顶点是相同的,即允许出现自循环,但是不允许两个顶点之间存在多条边,即出现平行边。边和…

    2025年6月28日
    8
  • ajax文件上传报400,ajax上传文件报400错误「建议收藏」

    ajax文件上传报400,ajax上传文件报400错误「建议收藏」1、ajaxjQuery.ajax({url:contextUrl+”/accidentAttachment/saveAccidentAttachment”,type:’post’,data:formData,contentType:false,processData:false,error:function(XMLHttpRequest,status){bootbox.ale…

    2025年6月1日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号