Skip to content
This repository has been archived by the owner on Mar 27, 2021. It is now read-only.

Set a displayName on the provider component for easier debugging with React Devtools #501

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Dman757
Copy link

@Dman757 Dman757 commented Feb 4, 2020

Summary & motivation

Duplicate Feature of a PR I just made for @stripe/react-stripe-js stripe/react-stripe-js#30

Simple change to make debugging with React DevTools a little bit easier by having a non-generic displayName. Also a component namespace that closer matches the import.

In the devtools window the "StripeProvider" component currently shows up as <Provider> this change would make it show up as <Stripe.Provider> With the generic name of "provider" it can be a little annoying debugging if you have multiple providers all with the same generic displayName.

Also this attempts to remove some confusion with the import { StripeProvider } from 'react-stripe-elements showing up as Provider in the component tree and any associated warnings that React now throws for 17.* compatibility.

before
Screenshot from 2020-02-04 13 24 39
after
Screenshot from 2020-02-04 13 23 46

If you're unfamiliar with the context displayName documentation is here: https://reactjs.org/docs/react-component.html#displayname

My real motivation for this is an issue with a project that has multiple generic named "Provider" components and I was tracking the following a warning down:
Screen Shot 2020-02-04 at 10 15 56 AM
After a little bit of digging realized it was related to react-stripe-elements as it has a context provider just named <Provider> even though the import is <StripeProvider>

Testing & documentation

Use React DevTools to confirm that the "correct" displayName is present.

@Dman757 Dman757 marked this pull request as ready for review February 4, 2020 21:38
@CLAassistant
Copy link

CLAassistant commented Aug 7, 2020

CLA assistant check
All committers have signed the CLA.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants