Skip to content

如何考量以及设计一个组件?

一点一点讲:

通用组件:

  1. 样式,在不同场景下的不同样式;比如一个button可能好几种样式,包括圆的方的,大小,颜色等等;
  2. 交互,比如一个button,点击的时候有不同的效果,比如loading,比如不可点击等等;
  3. 事件,浏览器事件的触发与阻止,与样式loading的交互等等;
  • 高内聚低耦合:将相关逻辑放在一起,将
  • 通用性:样式的通用性,允许用户自定义内容,比如表格项预留自己的内容
tsx
const columns = [
  {
    title: '名称',
    dataIndex: 'name',
    width: 200,
    render(text) {
      return <em>{text}</em>;
    },
  },
];

<Table columns={columns} />;

业务组件:

https://www.cnblogs.com/leiting/p/13502864.html 可以需要在比较深入理解业务的情况下,再去封一些,内部自带请求和数据的业务组件; 因为我在字节遇到过那种复用的业务组件,它在不同的使用地方的有不同的差别,最后的解法只能是传一些字段进去,判断使用环境,来消除这些差别; 那么这种情况下,“复用”的优势的就没有体现,反而增加了项目的复杂度,成为了一种负担;

对于React:

对于React来说。应该使用不可变数据流,这样天然适合memo的浅比较;

本站访客数 人次 本站总访问量