由重构react组件引发的函数式编程的思考
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了由重构react组件引发的函数式编程的思考,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1660字,纯文字阅读大概需要3分钟。
内容图文
![由重构react组件引发的函数式编程的思考](/upload/InfoBanner/zyjiaocheng/633/12c86dae64b949ac9452a425eddf398d.jpg)
对于高阶组件的使用场景如果有相关经验的或者有不同的见解的希望能够在我的博客下面留言
最近在重构react组件时,学习了一些高阶组件的编写思路,其实是由高阶函数沿伸而来。
一般情况我们编写一个react组件大致样子如下:
class App extends Component {
constructor(props){}
life cycle(){}
method(){}
render(){}
}
在编写一个基础组件我们会更多的将需要配置的东西通过props传递进来,那么高阶组件是什么样子的呢?
个人理解高阶组件就是react中复用组件逻辑的一种技巧,先来个高阶函数压压惊:
function add(a,b){
return a+b
}
如果我希望在函数处理的过程中能够实时追踪这个值并且打印出来呢,我们会这样处理:
function add(a,b){
console.log(a+b)
return a+b
}
可是当我们有很多这样的小功能,比如加减乘除之类的,那我们就要把打印那句话写很多遍,有什么办法偷个懒呢?
function log(func){
return function (){
var args = Array.prototype.slice.call(arguments)
var res = func.apply(null,args)
console.log(res)
return res
}
}
//感觉和koa的中间件有点神似
高阶组件的编写也比较类似
function hoc(Wrap){
return class App entends Component {
render (){
return <Wrap {...props}/>
}
}
}
其实写到这里高阶函数究竟好在哪里我还没有体会出来,如果说对于一个组件而言我们将view层和逻辑层代码当成参数传递进去,这样我们在开发组件的时候只需要把逻辑层和展示层组装一下就能拼成一个业务组件,但仔细思考一下其实对于一开始提出的编写方式也能实现类似的功能,只需要将逻辑抽象成配置项就可以,而且对于这种高阶组件还有一种实现方式就是继承式
const App = (props) => {
return class Child entends Parents{
render (){
return <div>{super.render()}</div>
}
}
}
通过继承的方式最好的应该就是能获取到父类的state,但是要注意的就是小心会覆盖父类中的方法,其实这种方式也可以通过import一个组件的方式来引入父类。
所以目前为止,我所接触到的业务场景,并没有突出高阶组件好在哪里。。。。
内容总结
以上是互联网集市为您收集整理的由重构react组件引发的函数式编程的思考全部内容,希望文章能够帮你解决由重构react组件引发的函数式编程的思考所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。