Skip to content

Conversation

@DNiederweis
Copy link
Member

Fixes # Deprecation warning in console for findDOMNode in StrictMode.

Additional description

findDOMNode is deprecated in StrictMode as it "breaks abstraction levels" and "creates a refactoring hazard" - React Documentation. The React documentation instead encourages the use of references.

This pull request follows this advice and creates a self-reference in the constructor(selfRef). This reference is then used in componentDidUpdate when it is checked whether the modal is closing. If it is, then instead of using findDOMNode to get a reference to the modal and using that for unmounting and removing from the DOM, it instead uses the selfRef now.


CONTRIBUTOR checklist (do not remove)

Please complete for every pull request

  • First-time contributors should sign the Contributor License Agreement. It's a fancy way of saying that you are giving away your contribution to this project. If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions.
  • npm run lint:fix has been run and linting passes.
  • Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
  • Tests have been added for new props to prevent regressions in the future. See readme. - Not Applicable
  • Review the appropriate Storybook stories. Open http://localhost:9001/.
  • Review tests are passing in the browser. Open http://localhost:8001/. - 2 tests for SLDSCombobox fail("selects a menu item and scrolls when a letter key is pressed in read-only mode" and "selects menu items and scrolls when the down/up keys are pressed"), but they also did not pass after a clean install.(Same as previous PR
  • Review markup conforms to SLDS by looking at DOM snapshot strings. - Not Applicable

REVIEWER checklist (do not remove)

  • CircleCI tests pass. This includes linting, Mocha, Jest, Storyshots, and components/component-docs.json tests.
  • Tests have been added for new props to prevent regressions in the future. See readme.
  • Review the appropriate Storybook stories. Open http://localhost:9001/.
  • The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
  • Review tests are passing in the browser. Open http://localhost:8001/.
  • Review markup conforms to SLDS by looking at DOM snapshot strings.
Required only if there are markup / UX changes
  • Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
  • Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
  • Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
  • While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

@interactivellama
Copy link
Contributor

Thanks. This is legacy code that should be not be used, but is still here for backwards support.

@interactivellama interactivellama merged commit 8c3a59f into salesforce:master Jul 18, 2022
@welcome
Copy link

welcome bot commented Jul 18, 2022

Congrats on merging your first pull request to Design System React! 🎉
If you have a moment, please fill out this five question survey, we would appreciate it.
On behalf of Salesforce's customers, partners, product specialists and employees, we would like offer sincere thanks and appreciation for helping make our user experience better. We look forward to working with you more in the future.
This definitely calls for a high five! Alt High Five

@DNiederweis DNiederweis deleted the fix-findDOMNode-Deprecation-StrictMode-SLDSModal branch July 18, 2022 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants