Skip to content

Refactor: Convert BrowserURL component from class to functional com… #70395

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

Conversation

R1shabh-Gupta
Copy link
Contributor

@R1shabh-Gupta R1shabh-Gupta commented Jun 12, 2025

What?

See #22890

This PR refactors the BrowserURL component from a class-based component to a functional component using React hooks.

Why?

Class-based components are no longer the recommended approach in React.
Functional components with hooks are preferred as they offer:

  • Better readability and simplicity
  • Easier maintainability and testing
  • Alignment with modern Gutenberg code standards

How?

  • Converted the class component to a functional component using useEffect and useState
  • Preserved all original logic, including setBrowserURL and URL update conditions
  • Used withSelect to inject postId and postStatus from the editor store as props

Testing Instructions

Run unit tests for the component:

npm run test:unit ./packages/edit-post/src/components/browser-url/test/index.js 

Screenshots or screencast

N/A – this is a logic-only (non-visual) component.

Copy link

👋 Thanks for your first Pull Request and for helping build the future of Gutenberg and WordPress, @R1shabh-Gupta! In case you missed it, we'd love to have you join us in our Slack community.

If you want to learn more about WordPress development in general, check out the Core Handbook full of helpful information.

@github-actions github-actions bot added the First-time Contributor Pull request opened by a first-time contributor to Gutenberg repository label Jun 12, 2025
@Mamaduka Mamaduka added [Type] Code Quality Issues or PRs that relate to code quality [Package] Edit Post /packages/edit-post labels Jun 12, 2025
@R1shabh-Gupta R1shabh-Gupta marked this pull request as ready for review June 12, 2025 10:42
Copy link

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: R1shabh-Gupta <rishabhwp@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
First-time Contributor Pull request opened by a first-time contributor to Gutenberg repository [Package] Edit Post /packages/edit-post [Type] Code Quality Issues or PRs that relate to code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants