salesforce / salesforce/design-system-react

findDOMNode is deprecated in StrictMode - GlobalNavigationBarDropdown not functional

Open
#3,166 1 comment 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
982
Forks
440
Avg merge
1d 21h
Merged PRs (30d)
4

Description

The GlobalNavigationBarDropdown component in @salesforce/design-system-react triggers a React deprecation warning when used in strict mode due to its reliance on findDOMNode. Additionally, the dropdown menu does not display when clicking on the dropdown button, making the component non-functional in this context.

This issue affects applications using React 18+ with strict mode enabled, as findDOMNode is deprecated and will likely be removed in future versions of React.

Actual Behavior

1.	Clicking on the GlobalNavigationBarDropdown button does not display the dropdown menu.
2.	A warning is displayed in the console:
image

Environment
• React Version: 18.2.0
• @salesforce/design-system-react Version: 0.10.61
• Browser: Chrome Version 131.0.6778.86
• Node Version: 22.8.0
• Operating System: MAC OS 15.1.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the GlobalNavigationBarDropdown component and reproduce the behavior in React 18.2.0 with StrictMode enabled. Trace the dropdown button interaction and its findDOMNode usage; done means the menu opens and the deprecation warning is no longer emitted in this environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.