SEMI DESIGN 源码学习(六)轮播图

1,359 阅读1分钟

轮播图代码位于 packages/semi-ui/carousel/index.tsx,代码量不多。

image.png

核心同样是这个 foundation 属性,类型为 CarouselFoundation

image.png

CarouselFoundation 封装了轮播图的操作方法,通过传入的 adapter,管理轮播图组件的 state

image.png

adapter 目的是操作组件的 state 属性。

image.png

组件暴露的方法实际上调用的是 foundation 的方法。

image.png

renderChildren 方法渲染传给轮播图组件的子元素。

image.png

renderIndicator, renderArrow 分别渲染指示器和切换箭头。

最后 render 方法返回一个 div 容器,包裹整个组件。

image.png

本文完,下期详细解释这个 foundation 模式。