@
kile 啊,PrimeReact 和 Chakra UI 我都没用过呢,不过我粗略看了下,觉得 mantine 有几点还是很有优势的
1. 组件更丰富,比较常用的 DatePicker, MonthPicker ,Chakra UI 没有:
https://mantine.dev/dates/month-picker/,PrimeReact 有个 Calendar 组件,但是不如 mantine 的 DataPicker/MonthPicker/YearPicker 强大,再比如 Rich Text Editor:
https://mantine.dev/x/tiptap/,这两个重量级组件在我的产品 PPResume 中都是重度使用的。Mantine v7 还加入了对 Charts 的支持:
https://mantine.dev/charts/getting-started/2. hooks 更多,参见:
https://mantine.dev/hooks/use-click-outside/,对比 PrimeReact:
https://primereact.org/hooks/usemounteffect/ 和 Chakra UI:
https://v2.chakra-ui.com/docs/hooks/use-boolean 。
3. style 定制,mantine 提供特别丰富的 style 定制方式,最重要的是和一般 UI 库不同,mantine 可以定制选择 internal child components ,而不像大多数 UI 库只能通过传 className 的方式定制最外层的 component ,参见:
https://mantine.dev/styles/styles-overview/ 和
https://mantine.dev/styles/styles-api/,当然 Chakra UI 和 PrimeReact 也是提供了 component style 定制的 API ,比如 Chakra UI:
https://v2.chakra-ui.com/docs/components/slider/theming ,但是好像用的是自己的 DSL ,不知清楚是否可以用全部的 CSS ,mantine v7 用的是 CSS module ,可以利用全部的 CSS 属性的,Prime React 的 styling:
https://primereact.org/calendar 。我总体感觉 mantine 的 CSS module 还是更舒服一些 ,性能也更好一些( mantine v6 -> v7 是升级到了 CSS module )
说的不一定对哈,供参考。
---
背景:我最开始写 PPResume 是用 tailwind ,后来花了点时间全部迁移到了 mantine ,经历了从 v5 -> v6 -> v7 的升级,总体对这个库还是非常满意的。