Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Remove deprecated UNSAFE_componentWillUpdate in SLDSDataTable#3053

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
DNiederweis wants to merge2 commits intosalesforce:master
base:master
Choose a base branch
Loading
fromDNiederweis:fix-UNSAFE_componentWillUpdate-SLDSDataTable

Conversation

@DNiederweis
Copy link
Member

@DNiederweisDNiederweis commentedJun 27, 2022
edited
Loading

Fixes # Deprecation Warning in console about UNSAFE_componentWillUpdate which "promotes unsafe coding practices" -React Blog

Additional description

WhileUNSAFE_componentWillUpdate is called right before render,getSnapshotBeforeUpdate is called right before mutating the DOM. According to theReact Documentation, the combination ofgetSnapshotBeforeUpdate andcomponentDidUpdateshould cover all use cases for the legacycomponentWillUpdate.

In this case since the purpose of usingUNSAFE_componentWillUpdate appeared to be resetting the interactive elements for the datatable if the props differed, I moved this logic intogetSnapshotBeforeUpdate. However, sincegetSnapshotBeforeUpdate gets the previous props rather than the next props, the if-statement had to be slightly adjusted. Additionally, becausegetSnapshotBeforeUpdate must contain a return statement(the return is passed as the third parameter tocomponentDidUpdate), it simply returns null. This change avoid the deprecation warning and enables the same behavior as withUNSAFE_componentWillUpdate.


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), andcomponents/component-docs.json CI tests pass (npm test).
  • Tests have been added for new props to prevent regressions in the future. Seereadme. -Not Applicable
  • Review the appropriate Storybook stories. Openhttp://localhost:9001/.
  • Review tests are passing in the browser. Openhttp://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.
  • Review markup conforms toSLDS by looking atDOM snapshot strings. -Not Applicable

REVIEWER checklist (do not remove)

  • CircleCI tests pass. This includes linting, Mocha, Jest, Storyshots, andcomponents/component-docs.json tests.
  • Tests have been added for new props to prevent regressions in the future. Seereadme.
  • Review the appropriate Storybook stories. Openhttp://localhost:9001/.
  • The Accessibility panel of each Storybook story has 0 violations (aXe). Openhttp://localhost:9001/.
  • Review tests are passing in the browser. Openhttp://localhost:8001/.
  • Review markup conforms toSLDS by looking atDOM snapshot strings.
Required only if there are markup / UX changes
  • Add year-first date and commit SHA tolast-slds-markup-review inpackage.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, topackage.json and push.
  • While the contributor's branch is checked out, runnpm run local-update within locally clonedsite repo to confirm the site will function correctly at the next release.

@welcome
Copy link

welcomebot commentedJun 27, 2022

Thanks for opening this pull request! 💯

This is a community-driven project, and we can't do it without your participation. Please check out ourcontributing guidelines and review the Contributor Checklist if you haven't already, to make sure everything is squared away. CircleCI will take about 10 minutes to run through the same items that are on the Contributor checklist with a pass/fail check below. Please fix any issues that cause CircleCI to fail or ask for clarification--we try, but sometimes the errors can be unclear.
A maintainer will try to respond within 7 days. If you haven’t heard anything by then, please bump this thread. To ensure codebase quality, large code line changes may take more than 2 weeks to review, but may take longer depending on the number of pull requests in the queue. Feel free to ask for a status update at any time--you won't be bothering anyone.
Once feedback has been given, please reply to the feedback giver once the feedback on been addressed, so that they can continue the review.
If you need a release while you are waiting for a code review, you can publish a built tag to your own fork. See directions in therelease README.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

@DNiederweis

[8]ページ先頭

©2009-2025 Movatter.jp