React基础:声明式编程

主要的编程范式有:

  • 命令式编程(Imperative Programming)

  • 声明式编程(Declarative Programming)

  • 函数式编程(Funational Programming)

  • 面向对象编程(Object-oriented Programming)

  • ...

React推行的是声明式编程的思想,下面来对比学习下命令式编程声明式编程,理解其中区别,以便于掌握React。

命令式编程

命令式编程描述代码如何工作,告诉计算机一步步地执行、先做什么后做什么。

比如,去酒吧点一杯酒,指挥服务员:

  • 从架子上取下一个玻璃杯;

  • 把杯子放在酒桶前;

  • 打开酒桶开关,直到酒杯满;

  • 把杯子递给顾客;

这就是按照声明式方式点一杯酒的,需要告知服务员如何给顾客提供一杯酒。

这里有一个代码示例,编写一个函数,处理传入包含大写字符串的数组,返回包含相同小写字符串的数组。


toLowerCase(['FOO', 'BAR']);  // ['foo', 'bar']

命令式函数实现:


const toLowerCase = arr => {

    const res = [];

    for (let i = 0, len = arr.length; i < len; i++) {

        res.push(arr[i].toLowerCase());

    }

    return res;

}

首先,创建一个空数组用于保存结果,然后遍历输入数组的所有元素,将每项元素的小写值存入空数组中,然后返回结果数组;

声明式编程

声明式编程表明想要实现什么目的,应该做什么,但是不指定具体怎么做。

声明式点一杯酒,只要告诉服务员:我要一杯酒即可;

声明式编程实现toLowerCase:


const toLowerCase = arr => arr.map(

    value => value.toLowerCase();

)

输入数组的元素传递给map函数,然后返回包含小写值的新数组

对比

相对比而言,声明式编程

  • 更加简洁、易懂,利于大型项目代码的维护;

  • 无须使用变量,避免了创建和修改状态;

React中的声明式

示例:带有标记的地图

JavaScript 实现


const map = new Map.map(document.getElementById('map'), {

    zoom: 4,

    center: {lat,lng}

});

const marker = new Map.marker({

    position: {lat, lng},

    title: 'Hello Marker'

});

marker.setMap(map);

这是在JavaScript中命令式创建地图、创建标记以及在地图上添加标记的步骤;

React组件中显示地图的方式:


<Map zoom={4} center={lat, lng}>

    <Marker position={lat, lng} title={'Hello Marker'}/>

</Map>

声明式编程方式使得React组件很容易使用,最终的代码简单易于维护。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

  • 函数式编程无疑是目前的热门技术话题之一,值得每个开发者认真研究。iOS、Android这几年不约而同的都更换了编程...
    光明自在阅读 1,360评论 0 0
  • 前言 本文翻译自Swift Functional Programming Tutorial 翻译的不对的地方还请...
    桃红宿雨阅读 7,687评论 0 10
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,995评论 0 5
  • 过完元宵节,重新踏上归途,来往车辆又再次回归到那个打拼的城市,为了生计不得不背井离乡。 清晨,看着行李箱放在边上,...
    甜暖我歆阅读 3,325评论 0 1

友情链接更多精彩内容