推一波自己的 React 组件库

1 天前
 xiejay97

感觉写的挺好的,就是缺 API 文档和测试,希望有人一起共建。

https://github.com/laser-ui/laser-ui

https://laser-ui.github.io/

1047 次点击
所在节点    分享创造
18 条回复
ltaoo1o
1 天前
能完整实现一套组件库很厉害了,有什么比较亮眼的功能点吗
xiejay97
1 天前
@ltaoo1o 样式,其实用组件库最麻烦的就是样式问题,我设计了一套 JS 样式封装,可以整个替换或者针对元素单独节点设置,包括修改或者覆盖 class 和 style ,其它不能说亮眼,只能说都有:
动态主题,使用 css 变量。
ARIA 支持。
国际化支持。
SSR 支持。
移动设备支持。

因为完全没什么第三方依赖,体积打包特别小 100KB
SayHelloHi
1 天前
学习了 感谢分享~
xiejay97
1 天前
实在写文档有心无力
ltaoo1o
1 天前
@xiejay97 #2 我用组件库也是经常会遇到要覆盖样式,但是非常困难的问题。可以在某个页面强调一下这个功能点,给一个具体的业务场景,肯定能吸引到有需求的人来用。
putyy
1 天前
瞟了一眼 不错 先赞!
passion336699
1 天前
https://github.com/laser-ui/laser-ui/blob/main/libs/components/src/tabs/Tabs.tsx

OP 可以介绍下 refreshTabs 确保选项卡正确处理溢出,并且将因溢出而不可见的选项卡放到下拉列表的思路吗?

最近有需求要实现一个,取取经
xiejay97
1 天前
@passion336699 考虑简单场景,一堆选项卡( tab )放在可滚动容器( container )中,首先检查 container 的 scrollWidth 和 clientWidth 判断是否选项卡有溢出滚动,如果有,方案 1:遍历 tab ,通过`getBoundingClientRect`获取 left ,对比 left 是否超过 container 的 left ;方案 2:遍历 tab ,通过累加 offsetWidth ,对比宽度是否超过 container 的 clientWidth
xiejay97
1 天前
@xiejay97 方案 2 不好,因为 css 导致的位置变化是很难计算的(如 margin 、transform )
blur1119
1 天前
最近正好想做组件库相关的事情。还有组件功能可以编写的吗,想参与进来
xiejay97
1 天前
@blur1119 有的,我 Dropdown 那块就一直想加虚拟滚动支持,懒没写,而且有其它原子类组件,合适的话也可以开发,留 issue 我拉你
eluotao
1 天前
已 Start,就佩服你们这种写 ui 的
shunia
23 小时 20 分钟前
文档的话,可以多写点注释,先自动生成一波,有问题再慢慢调整。

一般我看到这种 readme 就归结为低质量自 high 产物直接略过了,高质量的 readme 真的是必不可少的,既然代码都开源了,别省这个功夫。
xiejay97
22 小时 48 分钟前
@shunia 我就是因为想完善文档才发贴不是,所以个人开发者想做这类项目真的挺无奈的,因为很难有社区陪你一起成长,有多少喜欢并且能够折腾技术的人,生活很难的啦。不过我很庆幸这些东西全在公司落地项目,我个人也保持着一个技术人的热爱。
dufu1991
22 小时 8 分钟前
@shunia https://github.com/any-tdf/stdf 这个的 README 能不能过关,提提意见。
guhuisec
17 小时 17 分钟前
不错
SHF
11 小时 35 分钟前
不错,支持 react 19 吗?
xiejay97
1 小时 17 分钟前
@SHF 支持而且超前,可以看看这个迁移计划 https://github.com/laser-ui/laser-ui/issues/1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1100494

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX