高阶函数,最灵活,它是函数式编程里最显著的特点,也是面向对象或者面向过程的程序员最难接受的,代码可以实现我中有你,你中有我的,“量子纠缠”效果。在前端开发里,通常是应用最为广泛,比如React框架的组件,Container组件通常会包含展示组件,作为它的组成部分,比如MessageList组件里(container,也成为父组件),包含了MessageForm,MessageItem等展示组件(子组件)。展示组件通常只包含html的元素,而没有复杂的动作和数据处理的代码,为了保持数据流单向流动,子组件通常需要接受父组件传递过来的回调,这样子组件会反过来调用父组件里的函数完成state的修改。
以一段通用的代码为例,它只是展示高阶函数的“量子纠缠”:
代码可能有些人觉得晦涩,但是掌握它就掌握了高阶函数的用法。