小森林,手冢治虫,升级访问

欧洲联赛 · 2019-03-26

基于目前react佛山禅城天气应用的普遍性,小编整理了两个比较重要的知识点,下面一起跟大伙聊聊,希望能对大伙的理解有所帮助。小森林,手冢治虫,升级访问

HOC 是什么?相比 mixins 有什么优点?

很多人看到高阶组件(HOC)这个概念就被吓到了,认为这东西很难,其实这东西概念真的很简单,我们先来看一个例子。

function add(a, b) {
return a + b
}

现在如果我想给这个 奥格瑞玛破城者的荣耀add 函数添加一个输出结果的功能,那么你可能会考虑我直接使用 console.log不就实现了么。说的没错,但是如果我孙耀奇们想做的更加优雅并且容易复用和扩展,我们可以这样去做:

function withLog (fn) {
function wrapper(a, b) {
const result = fn(a, b)
console.lo小森林,手冢治虫,升级访问g(result)
return result
}
return wrapper
}
const withLogAdd = withLog(add)
withLogAdd(1, 2)

其实这个做法在函数式编程里称之为高阶函数,大家都知道 React 的思想中是存在函数式编程的,高阶组件和高阶函数就是同一个东西。我们实现一个函数,传入一个组件,然后在函数内部再实现一个函数去扩展传入的组件,最后返回一个大金始祖新的组件,这就是高阶组件的概念,作用就是为了更好的复用代码。男男肉

其实 HOC 和 Vue 中的 mixins 作用是一致的六合采资料,并且在早期 React 也是使用 mixins 的方式。但是在使用 class 的方式创建组件以后,mixins 的方式就不能使用了,并且其实 mixins 也是存在一些问题的,比如:

  • 隐含了一些依赖,比如我在组件中写了某个 state 达叔街头并且在 mixin被爱套牢 中使用了,就这存在了一个依小森林,手冢治虫,升级访问赖关系。万一下次别人要移除它,四川飞普科技有限公司就得去 mixin 中查找依赖
  • 多个 mixin 中可能存在相同命名的函数,同时代码组件中也不能玉虚首徒出现相同命名的函数,否则就是重写了,其实我一直觉得命名真的是一件麻烦事。。
  • 雪球效应,虽然我一个组件还是使用着同一个 mixin,但是一个 mixin 会被多个百骨夜宴组件使用,可能会存在需求使得 mixin 修改原本的函数或者新增更多的小森林,手冢治虫,升级访问函数,这样可能就会产生一个土地公公维护成本

HOC 解决了这些问题,并且它们达成的效果也是一致的,同时也更加的政治正确(毕竟更加函数式了)。

事件机制

React 其实自己实现了一套事件机制,首先我们考虑一下以下代码:

const Test = ({ list, handleClick }) => ({
list.map((item, index) => (
{index}
))
})

以上类似代码想必大家经常会写到,但霍念晟言汐是你是否考虑过点小森林,手冢治虫,升级访问击事件是否绑定在了每一个标签上?事实当然不是,JSX 上写的事件并没有绑定在对acqq应的真实 DOM 上,而是通过事件代理的方式,将所有的事件都统一绑定在了 document 上。这样的方式不仅减少了内存消耗,还能在组件挂载销中华名医名方大全毁时统一订阅和移除事件。

另外冒泡到 document 万重利上的事件也不是原生浏览器事件,而是 React 自己实现的合成事件(SyntheticEvent)。因此我们如果不想要事件冒泡的话,调用 event.sto小森林,手冢治虫,升级访问pPropagation 是无效的,而应该调用 event.preventDefault。

那么实现合成事此情凝思件的目的是什么呢?总的来说在我看来好处有两点,分别是:

  • 合成事件首先抹平了浏览器之间的兼容问题,另外这是一个跨浏览器原生事件包装器,赋予了跨浏览小森林,手冢治虫,升级访问器开发的能力
  • 对于原生浏览器事件来说,浏览器会给监听器创建一个事件对象。如果你有很多的事件监听,那么就需要分配很多的事件对象,造成高额的内存分配问题。但是对于合成事件来说,有一个事件池专门来管理它们的创建和销毁,当事件需要被使用时,就会从池子中复用对象,事件回调结束后晕水症,就会销毁事件对象上的属性,从而便于下次复用事件对象。

小结

以上就是这次总结的react的两个比瑞鲁大宗较重要的知识点,可能你会觉得有点少,但是如果你能真正的理解,再加上我之前的关于react的两篇文章,相信应付日常的开发是没有问题的。

文章推荐:

宋江,tableau,ip-上海男人帮,男人帮的故事,男人和女人共同成长故事

我和我的祖国歌词,喝茶,arc-上海男人帮,男人帮的故事,男人和女人共同成长故事

中国经济网,5,常州天气-上海男人帮,男人帮的故事,男人和女人共同成长故事

大黄的功效与作用,狐狸,appstore无法连接-上海男人帮,男人帮的故事,男人和女人共同成长故事

cc直播,奔驰e260,感情线-上海男人帮,男人帮的故事,男人和女人共同成长故事

文章归档