加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

【React深入】从Mixin到HOC再到Hook

发布时间:2019-04-12 03:57:26 所属栏目:建站 来源:ConardLi
导读:导读 前端成长速率很是之快,页面和组件变得越来越伟大,怎样更好的实近况态逻辑复用一向都是应用措施中重要的一部门,这直接相关着应用措施的质量以及维护的难易水平。 本文先容了React回收的三种实近况态逻辑复用的技能,并说明白他们的实现道理、行使方

按照差异的页面名称修改页面title:

  1. function useTitle(title) {  
  2.   useEffect(  
  3.     () => {  
  4.       document.title = title;  
  5.       return () => (document.title = "主页");  
  6.     },  
  7.     [title]  
  8.   );  
  9. }  
  10. function Page1(props){  
  11.   useTitle('Page1');  
  12.   return (<div>...</div>)  

双向绑定

我们将表单onChange的逻辑抽取出来封装成一个Hook,这样全部必要举办双向绑定的表单组件都可以举办复用:

  1. function useBind(init) {  
  2.   let [value, setValue] = useState(init);  
  3.   let onChange = useCallback(function(event) {  
  4.     setValue(event.currentTarget.value);  
  5.   }, []);  
  6.   return {  
  7.     value,  
  8.     onChange  
  9.   };  
  10. }  
  11. function Page1(props){  
  12.   let value = useBind('');  
  13.   return <input {...value} />;  

虽然,你可以向上面的HOC那样,团结context和form来封装一个更通用的双向绑定,有乐趣可以手动实现一下。

行使Hook的念头

镌汰状态逻辑复用的风险

Hook和Mixin在用法上有必然的相似之处,可是Mixin引入的逻辑和状态是可以彼此包围的,而多个Hook之间互不影响,这让我们不必要在把一部门精神放在防备停止逻辑复用的斗嘴上。

在不遵守约定的环境下行使HOC也有也许带来必然斗嘴,好比props包围等等,行使Hook则可以停止这些题目。

停止地狱式嵌套

大量行使HOC的环境下让我们的代码变得嵌套层级很是深,行使HOC,我们可以实现扁平式的状态逻辑复用,而停止了大量的组件嵌套。

让组件更轻易领略

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读