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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机 修改 虚拟ip,怎么样在电脑中设置虚拟IP地址?

    计算机 修改 虚拟ip,怎么样在电脑中设置虚拟IP地址?满意答案wtc69812020.03.01采纳率:56%等级:9已帮助:114人更改IP地址广域IP:1、如果是PPOE上网只需断开连接再重新连上就好了,服务器会从IP地址池中随机分配一个IP地址给你。2、固定IP上网那你要找运营商更改了,这样改是快不了的。局域IP:网络邻居右键属性,我的连接右键属性,打开tcp/ip更改。改网卡物理地址:1、直接改:可以在桌面上的“网上邻居”图标上单击右…

    2022年10月20日
    0
  • vscode中好用的插件_捷达VS5和捷途X95哪个好

    vscode中好用的插件_捷达VS5和捷途X95哪个好AutoRenameTag自动重命名配对的HTML/XML标签AutoCloseTag自动添加HTML/XML结束标签BracketPairColorizer高亮匹配代码块括号CodeRunner非常强大的一款插件,能够运行多种语言的代码片段或代码文件:C,C++,Java,JavaScript,PHP,Python,Perl,Ruby,Go等等,安装完……

    2022年9月28日
    2
  • java源程序文件扩展名_JAVA源代码的扩展名为( )

    java源程序文件扩展名_JAVA源代码的扩展名为( )展开全部JAVA源代码的扩展名为.java。Java源程序(.java文件)-java字节码文e68a8462616964757a686964616f31333433626462件(.class文件)-由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)-字节码文件(.class)就会在java虚拟机中执行。Java的基本包java.lang其中包含有:接口:Compara…

    2022年7月8日
    49
  • linux服务器,卸载tensorflow CPU 安装PGU版

    linux服务器,卸载tensorflow CPU 安装PGU版linux服务器,卸载tensorflowCPU安装PGU版写在前面之前用的和学习的都是pytorch框架,现在要运行一个keras的代码,得安装tensorflow和keras,按一个教程,直接在pycharm里setting,点那个+很快就装好了tensorflow和keras,运行了几次发现运行特别慢,用nvidia-smi查看,发现根本没有用pgu跑,一番查找,最后发现安装的tensorflow本身是按CPU跑的,要用GPU跑,得安装tensorflow-gpu。以下主要参考了https

    2022年6月22日
    48
  • Linux下重启tomcat

    linux重启tomcat命令1,进入到tomcat的bin目录下使用ls命令,查看自己的目录文件cd/opt/tomcat_test/bin/(cd后面接自己的环境目录)2、启动tomcat运行bin目录下的启动命令脚本shstartup.sh或者./startup.sh这样tomcat就启用了3.查看tomcat进程是否启动使用psaux|greptomca…

    2022年4月6日
    107
  • hashmap 遍历 取值「建议收藏」

    hashmap 遍历 取值「建议收藏」Map<String,String>gettext=newHashMap<String,String>();gettext=link.linkGet(“F://htmls/compare/98.15.3.html”,”utf-8″);;//给以一个hashpmap实例给gettextItera…

    2025年9月12日
    5

发表回复

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

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