Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: remove default props from yoga/web #866

Merged
merged 5 commits into from
Feb 4, 2025

Conversation

lpolon
Copy link
Contributor

@lpolon lpolon commented Jan 24, 2025

JIRA Issue

Description 📄

This PR removes React defaultProps in favor of js default parameters

React 19 removed the PropTypes and defaultProps for functions (link).

relevant links:

related issues:
#857 (comment)

[Enter the description of your changes]

Platforms 📲

  • Web
  • Mobile

Type of change 🔍

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested? 🧪

[Enter the tips to test this PR]

  • Unit Test
  • Snapshot Test

Checklist: 🔍

  • My code follows the contribution guide of this project Contributing Guide
  • Layout matches design prototype: FIGMA
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes -> WIP
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

with the release of React 19, the React team also release React 18.3
that adds warnings in order to streamline the upgrade to react 19.

Running the yoga/web components on a project with React 18.3 raised the
warning suggesting to replace the default props API in favor of the
standard ES6+ default parameters

relevant links:
- https://react.dev/blog/2024/04/25/react-19-upgrade-guide
- https://stackoverflow.com/questions/78931633/warning-page-support-for-defaultprops-will-be-removed-from-function-components
@lpolon lpolon force-pushed the chore/remove-default-props-web branch from f0ab094 to 153175b Compare January 28, 2025 00:01
@lpolon lpolon marked this pull request as ready for review January 28, 2025 00:07
@lpolon lpolon changed the title Chore/remove default props from yoga/web fix: remove default props from yoga/web Jan 28, 2025
Assigning to a variable before using the values as defaults to props make these values
referentially stable. Props might be used in dependency arrays. In these cases
this change avoid unnecessary re-renders.
Fix Codacy reported issues during CI check.
Copy link
Collaborator

@wellhub-gsevla wellhub-gsevla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job!

@lpolon lpolon requested a review from a team as a code owner February 3, 2025 14:01
@lpolon lpolon requested a review from wellhub-gsevla February 3, 2025 15:20
@MicaelRodrigues MicaelRodrigues merged commit d6beec7 into master Feb 4, 2025
4 checks passed
@MicaelRodrigues MicaelRodrigues deleted the chore/remove-default-props-web branch February 4, 2025 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants