fix: Dialog & Drawer component is not unmounting when it contains the Tabs component#389
fix: Dialog & Drawer component is not unmounting when it contains the Tabs component#389
Conversation
when it contains the Tabs component
| @@ -1,12 +1,12 @@ | |||
| { | |||
| "name": "@bsf/force-ui", | |||
There was a problem hiding this comment.
What: Version Update
Why: Incrementing the version indicates new updates or bug fixes which should be tracked properly for dependency management.
How: Make sure to document any changes in changelog or prepare release notes that accompany the version update.
| @@ -1,12 +1,12 @@ | |||
| { | |||
| "name": "@bsf/force-ui", | |||
| "version": "1.7.7", | |||
There was a problem hiding this comment.
What: Version Update
Why: Changing the version from 1.7.7 to 1.7.8 should reflect updates that ensure improved functionality or fixed issues.
How: Ensure that this version update is compatible with the existing code and other dependencies. Perform tests to confirm that the updates do not introduce any breaking changes.
| @@ -1,6 +1,6 @@ | |||
| { | |||
| "name": "@bsf/force-ui", | |||
There was a problem hiding this comment.
What: The version number is being updated from 1.7.7 to 1.7.8, which is a simple increment of the version. However, there is no changelog provided for what changes are included in this new version.
Why: Providing a changelog is crucial for both users and developers to understand what has changed between versions. It helps in tracking the history of changes, enables users to plan updates more effectively, and maintains transparency in the development process. Failure to document changes can lead to confusion or integration issues for teams using this library.
How: Please add a detailed description of the changes made in this version in a changelog or directly in the 'package.json' under an appropriate section. For example, consider adding a 'changelog' file in the root of your project or include a 'description' field for version changes in the package.json.
| useMemo, | ||
| forwardRef, | ||
| isValidElement, | ||
| createContext, |
There was a problem hiding this comment.
What: The useMemo hook has been introduced to cache the generated tabGroupId for better performance.
Why: Using useMemo ensures that the nanoid() function is only called once on first render instead of on every render, improving performance especially if TabsGroup is rendered frequently. This can help prevent unnecessary processing and enhance component efficiency.
How: This change is a positive improvement in terms of performance. It's important to monitor that the useMemo dependency array is appropriate. In this case, since there are no dependencies, it is guaranteed to always return the same id, which is the intended behavior.
| @@ -89,7 +90,7 @@ export const TabsGroup = ( { | |||
| iconPosition = 'left', // Position of the icon in the tab ('left' or 'right'). | |||
There was a problem hiding this comment.
What: Make sure that the use of useMemo is correctly understood and that it doesn't mislead other developers about when useMemo should be applied.
Why: It's important that all developers working on the codebase understand the purpose of useMemo, as overusing memoization or applying it without understanding can lead to performance issues or complexity in future development.
How: Consider adding a comment above the useMemo line explaining why it is used in this context (to ensure the nanoid is generated only once). This will help maintain clear documentation for future developers.
| @@ -1,3 +1,3 @@ | |||
| { | |||
| "force-ui": "1.7.7" | |||
There was a problem hiding this comment.
What: The update from version '1.7.7' to '1.7.8' should be documented with accompanying notes about changes made in this version.
Why: It's important for future maintainability and clear communication with other developers to understand what modifications or improvements were introduced in this new version. Without documentation, team members may be unaware of critical updates or fixes that could affect usage or functionality.
How: Please add a changelog section related to version '1.7.8' in the project's documentation where you could detail what was fixed, added, or changed. This can also help with user adoption and understanding of how updates may impact their implementation.
Description
Screenshots | Video with voice-over
Link to Figma (If applicable)
How has this been tested?
Checklist: