zoukankan      html  css  js  c++  java
  • 【函数式编程】reducer为什么叫reducer

      最近学习前端的技术,在了解react对DOM的组件抽象,但不提供整体的组件通讯时候,了解了redux,然后就是react-redux;

      抽象后,视图完全由对象决定,而用户只能接触视图,所以对象的改变必然是用户通过视图触发的称为action,然后redux收到action后通过reducer函数改变对象,然后对象导致视图渲染;其中提到一个问题,为何reducer命名为reducer呢?

      函数式编程:reduce函数为演绎高阶函数;例子如下:

    const array = [1,2,3,4]
    array.reduce((rul,cur)=>{rul=rul+cur;return rul;},0)

      其实reducer就是一个函数,它能作为reduce高阶函数的参数;也就是reducer负责演绎功能,对一连串视图发过来的action数组一个个作用下去;演绎出一个结果,就是最终的对象状态,所以该reducer的第一个参数是上一个对象state,而第二个参数就是当前的acrtion;

    const actionArray = [a,b,c,d]
    funtion reducer(state,action){//do something; return newState}

       掌握了函数式编程是很重要的,Java ,Python都有很好的函数式编程支持,如Java的stream,Python的filter()函数;

  • 相关阅读:
    优化SQL Server数据库的经验总结
    #main和.main区别
    通过SQL把n条记录插入表中
    11月6日到8日参加微软Tech.ED2008大会
    NOIP2017 D2T1奶酪
    NOIP2017 D1T2时间复杂度
    NOIP2017 D2T2宝藏
    NOIP2017 D1T1小凯的疑惑
    NOIP2017 D1T3逛公园
    NOIP2017 D2T3列队
  • 原文地址:https://www.cnblogs.com/iCanhua/p/10193582.html
Copyright © 2011-2022 走看看