[tree view] Use useId for the default tree id - #23341
Open
Anexus5919 wants to merge 1 commit into
Open
Conversation
Deploy previewBundle size
Check out the code infra dashboard for more information about this PR. |
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Split out of #23337 at @noraleonte's request.
Changes
treeIdstarts asundefinedand is only generated by the firstupdateStateFromParameters, which runs in a layout effect after mount. Until thentreeItemIdAttributeresolves to-<itemId>, so:The default id now comes from
useIdand is passed to the store through the parameters, the same wayisRtlalready is. It is stable from the first render, unique per instance, and consistent between server and client.createTreeViewDefaultIdand its module-global counter are gone.useIdis@mui/utils/useId, which is what the Data Grid uses. It delegates to React'suseIdon React 18+, and falls back to a post-mount id on React 17, which matches the current behaviour there.No public API change.