Closed rnicholus closed 6 months ago
Run & review this pull request in StackBlitz Codeflow.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
Name | Status | Preview | Comments | Updated (UTC) |
---|---|---|---|---|
flowbite-react | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Mar 19, 2024 1:44pm |
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 95.54%. Comparing base (
7461173
) to head (9447658
). Report is 203 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@coderabbitai review
This update focuses on improving type inference and component refactoring within a React project. It addresses as
inference issues in Button
and DropdownItem
components when used with Link
components, by adding temporary @ts-expect-error
comments alongside TODO notes for future fixes. Additionally, it introduces a genericForwardRef
function to better handle refs with generic components, and refactors Button
components to utilize this new approach, enhancing code maintainability and readability.
Files | Changes |
---|---|
.../homepage/... examples/button/... examples/dropdown/dropdown.customItem.tsx |
Added @ts-expect-error with TODO notes for as inference issues. |
src/components/Button/... |
Refactored Button components, updated types, and utilized genericForwardRef . |
src/components/Dropdown/... |
Fixed a typo, added RefCallback import, and refactored DropdownItem component. |
src/helpers/generic-forward-ref.ts |
Introduced genericForwardRef function. |
🐇💻✨
In the land of code, where components intertwine,
A rabbit hopped, fixing types, making them align.
With a flick of its tail, errors began to fade,
Refs and props, in harmony, beautifully made.
🌟🚀🐾
"To the future," it whispered, under the moon's glow,
Where code runs smooth, and development can flow.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Uh, whatever AI you’ve unleashed on this PR is pretty low-quality. All I’ve done here is ‘git revert’ 1 set of changes and partially revert another.
Uh, whatever AI you’ve unleashed on this PR is pretty low-quality. All I’ve done here is ‘git revert’ 1 set of changes and partially revert another.
Yep, I know that, but seems like the AI does not
@rnicholus AI is just an tool, we still reviewing as humans. 😁
Is there anything else i can do to ensure this change is merged & released?
@rnicholus please, no merge with main... rebase it instead!
@rnicholus please, no merge with main... rebase it instead!
this can all be squashed on merge, correct?
@rnicholus yes, but it is preferable to rebase with the main instead of merging it. But, anyway...
I'm wondering if this PR is actually fixing the issue, and not just reverting for some broken state. Isn't better if we could address the problem with a definitive fix? What would be the pros and cons of accepting this to fix #962 and reverting the fix for #1002 and #1107?
@rnicholus yes, but it is preferable to rebase with the main instead of merging it. But, anyway...
I'm wondering if this PR is actually fixing the issue, and not just reverting for some broken state. Isn't better if we could address the problem with a definitive fix? What would be the pros and cons of accepting this to fix #962 and reverting the fix for #1002 and #1107?
I'm not sure. My motivation here was to fix the typing issue without having to resort to ts-ignore
in my project, and i suspect a bunch of other users are in the same boat.
Isn't better if we could address the problem with a definitive fix?
absolutely, but i'm not sure what that fix is as i don't really have the cycles to investigate
Closed in favor of #1308
In #1244, the return type of
Button
andDropdownItem
was changed toReactNode
. This is not an acceptable return type for functional components. The correct return type isJSX.Element
. This change fixes the regression from that PR (introduced in v0.7.3) by reverting that PR and accounting for related changes that followed that PR. Also fixes https://github.com/themesberg/flowbite-react/issues/962.Perhaps there is a way to fulfill the goals of #1244 and solve this regression, but I wasn't able to find time to address that, and #1244 seems flawed enough that perhaps it just needs to be redesigned.