美文网首页
React中的纯函数

React中的纯函数

作者: coderhzc | 来源:发表于2021-11-10 17:51 被阅读0次

React之纯函数

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

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

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

如上:foo不是一个纯函数,因为它的结果还依赖于外部变量a

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

let a=1
let foo = (obj,b) => { obj.x=2 return obj.x+b }
let counter={x:1}
foo(counter,2)  //=3
counter.x //=1

函数的执行对外部的对象obj产生了影响,即副作用,因为它修改了外部传来的对象,所以它是不纯的,因为影响了外部的对象的属性obj.x。

const foo = (b) => {
  const obj = { x: 1 }
  obj.x = 2
  return obj.x + b
}

如果是上面这样就不是副作用,因为它更改的是内部的变量,外部根本观察不到

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

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

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

相关文章

  • React中的纯函数

    React之纯函数 纯函数 Pure Function定义:一个函数的返回结果只依赖于它的参数,并且在执行的过程中...

  • 实战+源码 带你快速掌握React Hooks

    大纲 ? 函数式编程? 什么是纯函数? 什么是副作用(Effect)? 为什么要使用纯函数 ? React函数组件...

  • React 常见 hook

    React 创建组件的方式: 类组件 函数式组件a. 纯函数组件没有状态b. 纯函数组件没有生命周期c. 纯函数组...

  • React(纯函数)

    函数的返回结果完全由参数决定 函数不修改参数

  • react的纯函数

    纯函数三大特点: 1.函数的返回结果只依赖它的参数如下: 反例: 上面就不是纯函数,因为它的返回结果还受外部变量b...

  • JavaScript面试:什么是纯函数?

    纯函数对于多种用途至关重要,包括函数式编程,可靠的并发和React + Redux应用程序。但是“纯函数”是什么意...

  • React 官网笔记 更新于:2020-12-15

    React 官网学习笔记 所有 React 组件都必须像纯函数一样保护它们的 props 不被更改 在 React...

  • 前端开发之高阶函数

    前言 高阶组件在React圈子中是一个很常见的概念,React奉行原则之一就是使用纯函数编程。 但是在Vue圈子大...

  • JS纯函数概念

    判断是否为纯函数的两个指标 纯函数和非纯函数的简单例子 1、纯函数 2、非纯函数 Redux中对使用纯函数redu...

  • React绑定this的三种方式

    React可以使用React.createClass、ES6 classes、纯函数3种方式构建组件。使用Reac...

网友评论

      本文标题:React中的纯函数

      本文链接:https://www.haomeiwen.com/subject/gmrizltx.html