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

重构伟大的React组件:编写高效且可读组件的5个优越实践

发布时间:2019-10-30 14:38:57 所属栏目:移动互联 来源:王强
导读:题目 React.js 已成为 Web 组件中很受接待的视图库。一起进化下来,它成长出了浩瀚特征,现在已成为建设优越的 Web 应用措施的一套完备器材。 它的社区经验了发作式增添,尤其在已往的 2-3 年中,收集上呈现了成千上万有关这项技能的教程。 因此,每位初学

因此我们可以进一步重构这个组件,建设另一个小的函数组件来渲染按钮,并转达一些属性,如 action、setClicked 和 title:

  1. import React, { useState } from 'react'; 
  2. import './ListComponent.css'; 
  3. const ListItemComponent = props => { 
  4.  return { 
  5.  <li> 
  6.  <button 
  7.  onClick={() => { 
  8.  props.setClicked(props.title); 
  9.  props.action(); 
  10.  }} 
  11.  className="my-button"> 
  12.  {props.title} 
  13.  </button> 
  14.  </li> 
  15.  ); 
  16. }; 
  17. const ListComponent = props => { 
  18.  const [lastClickedButton, setLastClickedButton] = useState(''); 
  19.  return 
  20.  <div> 
  21.  <hl>The last clicked button is {lastClickedButton}</hl> 
  22.  <ul> 
  23.  <ListItemcomponent 
  24.  title="Create" 
  25.  action={props.createSomething} 
  26.  setClicked={setLastClickedButton} 
  27.  /> 
  28.  <ListItemComponent 
  29.  title="Read" 
  30.  action={props.readSomething} 
  31.  setClicked={setLastClickedButton} 
  32.  /> 
  33.  <ListItemComponent 
  34.  title="Update" 
  35.  action={props.updateSomething} 
  36.  seteClicked={setLastClickedButton} 
  37.  /> 
  38.  <ListItemComponent 
  39.  title="Destroy" 
  40.  action={props.destroySomething} 
  41.  seteClicked={setLastClickedButton} 
  42.  /> 
  43.  </ul> 
  44.  </div> 
  45.  ); 
  46. }; 

好的,我们的组件开始变悦目了,可是仍有改造的余地,让我们继承吧!

3. 正确定名和 props 解构

setLastClickedButton 是 setter 函数的描写性名称,但我们必要保持代码的可读性和简捷,因此请务必起一个最短、最精辟的名字,这是很重要的。我们将其重定名为 setClicked。

同样,只要有也许,从 props 工具解构出来你必要的对象就可以停止多次一再行使 props 这个词。在 ListItem 组件中,我们此刻按解构后的函数参数中的名称—— {action, title, setClicked}来会见 props。

(编辑:湖南网)

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

热点阅读