-
Notifications
You must be signed in to change notification settings - Fork 2.5k
feat(ActionSheet): unified provision of custom prefixCls #6962
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feature
Are you sure you want to change the base?
feat(ActionSheet): unified provision of custom prefixCls #6962
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @EmilyyyLiu, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 此拉取请求旨在为组件提供统一的自定义 CSS 类前缀机制。通过在 Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
本次 PR 统一了为组件提供自定义 prefixCls 的方式,做得很好。通过在 ConfigProvider 中添加 prefixCls 和 getPrefixCls,实现了全局的 CSS 类名前缀配置。同时,在 ActionSheet 组件级别也支持了 prefixCls 属性,并正确处理了优先级。代码变更清晰,并且添加了相应的单元测试来覆盖新功能。
我只在 config-provider.tsx 中发现一处轻微的代码重复,并提供了一个重构建议以提高代码的可维护性。
| const getPrefixCls = (suffixCls?: string, customizePrefixCls?: string) => { | ||
| if (customizePrefixCls) { | ||
| return customizePrefixCls | ||
| } | ||
| const mergedPrefixCls = | ||
| config.prefixCls || parentConfig.prefixCls || defaultPrefixCls | ||
| return suffixCls ? `${mergedPrefixCls}-${suffixCls}` : mergedPrefixCls | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
此处的 getPrefixCls 函数与文件顶部定义的版本(第 52-57 行)存在代码重复。为了提高代码的可维护性,建议将通用逻辑提取到一个辅助函数中。
例如,可以创建一个生成器函数:
const genGetPrefixCls = (basePrefix: string) => (suffixCls?: string, customizePrefixCls?: string) => {
if (customizePrefixCls) return customizePrefixCls;
return suffixCls ? `${basePrefix}-${suffixCls}` : basePrefix;
};然后,defaultConfigRef 和 ConfigProvider 组件都可以使用这个生成器来创建各自的 getPrefixCls 函数,从而消除重复代码。
commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## feature #6962 +/- ##
========================================
Coverage 92.95% 92.95%
========================================
Files 337 337
Lines 7368 7370 +2
Branches 1871 1861 -10
========================================
+ Hits 6849 6851 +2
Misses 483 483
Partials 36 36 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
98a7c92 to
6096c95
Compare

统一添加自定义class 前缀
关联issue #6960