Hooks什么是“hooks”?直译为“钩子”。通常是指:当系统运行到一定时间后,会调用注册到该时间的回调函数。为什么使用Hooks跨组件重用有状态逻辑非常困难UsingHooks,你可以从组件中抽象出包含状态的逻辑,这将使这些逻辑易于测试。同时,Hooks可以帮助你复用这些逻辑,而无需重写组件结构。复杂组件难以理解Hooks允许您根据相关部分(例如设置订阅或获取数据)将组件拆分为更小的功能,而不是基于生命周期方法强制拆分。不仅是用户,机器也很难理解类。Hooks允许你在类之外使用React的更多新特性。Hooks的优点Betterstatereuse假设有如下需求:当创建一个组件实例时,需要创建一个state属性:name,并随机给这个name属性赋一个初始值。此外,必须提供setName方法。您可以在组件的其他地方覆盖和修改此状态属性。更重要的是:这个逻辑应该是可复用的,这个逻辑可以在各种业务组件中复用。在没有Hooks之前,我第一个想到的方案肯定是mixins。代码如下:(本例使用vue2mixin编写)。//Mixin文件:name-mixin.jsexportdefault{data(){return{name:genRandomName()//如果它可以生成随机名称}},methods:{setName(name){this.name=name}}}//组件:my-component.vue
