React-纯函数和高阶函数

84 阅读1分钟

纯函数

  1. 一类特别的函数: 只要是同样的输入(实参),必定得到同样的输出(返回)
  2. 必须遵守以下一些约束
    • 不得改写参数数据
    • 不会产生任何副作用,例如网络请求,输入和输出设备
    • 不能调用 Date.now() 或者 Math.random() 等不纯的方法
  3. reduxreducer 函数必须是一个纯函数

高阶函数

  1. 理解: 一类特别的函数
    • 情况1: 参数是函数
    • 情况2: 返回是函数
  2. 常见的高阶函数:
    • 定时器设置函数
    • 数组的 forEach()/map()/filter()/reduce()/find()/bind()
    • promise
    • react-redux 中的 connect 函数
  3. 作用: 能实现更加动态, 更加可扩展的功能