github icon indicating copy to clipboard operation
github copied to clipboard

fix warning at #2680

Open icecream17 opened this issue 3 years ago • 4 comments

Please be sure to read the contributor's guide to the GitHub package before submitting any pull requests.

Description of the Change

componentWillRecieveProps is now deprecated, so this pr replaces it.

https://reactjs.org/docs/react-component.html#unsafe_componentwillreceiveprops says: "If you need to perform a side effect (for example, data fetching or an animation) in response to a change in props, use componentDidUpdate lifecycle instead."

componentDidUpdate is called after updating, rather than componentWillRecieveProps. If this (or some other subtle change) happens to break atom, then I'll just use UNSAFE_componentWillReceiveProps instead.

Warning text:


Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

  • Move data fetching code or side effects to componentDidUpdate.
  • If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
  • Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

In this case, it's used for side effects (1st bullet point)

And this implies there will still be a warning when using UNSAFE_componentWillReceiveProps in strict-mode, so trying componentDidUpdate first.

Screenshot or Gif

N/A

Applicable Issues

Fixes Part of Fixes #2680

icecream17 avatar May 14 '21 03:05 icecream17

The tests failed, but for external reasons image

Also there's this: image

icecream17 avatar May 14 '21 15:05 icecream17

The tests failed, but for external reasons

Yeah, our CI seems really unhealthy 😒 . It was always a bit rickety even when this was my major focus, but it looks like entropy has made it even worse since the last time I've done work here.

smashwilson avatar May 14 '21 15:05 smashwilson

Codecov Report

Merging #2681 (8b1cfaf) into master (2053290) will not change coverage. The diff coverage is 100.00%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2681   +/-   ##
=======================================
  Coverage   93.46%   93.46%           
=======================================
  Files         237      237           
  Lines       13213    13213           
  Branches     1900     1900           
=======================================
  Hits        12349    12349           
  Misses        864      864           
Impacted Files Coverage Δ
lib/atom/commands.js 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 2053290...8b1cfaf. Read the comment docs.

codecov[bot] avatar Sep 02 '21 13:09 codecov[bot]

That last commit was for the tests to run

icecream17 avatar Sep 02 '21 13:09 icecream17