For further actions, you may consider blocking this person and/or reporting abuse
Read next
React: LinkedIn Access Token in 10 Steps
Jaime -
๐จ Mastering Angular-React Integration: How to Use tldraw Without Losing Your Mind!
Balaji Sasikumar -
Portfolio Update: A Fresh New Look & Enhanced Features!
Ikram Kharbouch -
๐ ๐๐ป๐ต๐ฎ๐ป๐ฐ๐ถ๐ป๐ด ๐จ๐๐ฒ๐ฟ ๐๐ ๐ฝ๐ฒ๐ฟ๐ถ๐ฒ๐ป๐ฐ๐ฒ ๐๐ถ๐๐ต ๐๐ต๐ฒ ๐๐๐ฒ๐ข๐ฝ๐๐ถ๐บ๐ถ๐๐๐ถ๐ฐ() ๐๐ผ๐ผ๐ธ ๐ถ๐ป ๐ฅ๐ฒ๐ฎ๐ฐ๐! ๐
s-babaeizadeh -
Top comments (3)
It's a bit of a broad question but I have some input on using props in general. Here are the rules we've set for props when building React Components.
1. Any is wrong, unless it's not.
If a PropType is set to any, you're probably doing it wrong. Check if you can specify what the type really is. If not, add a comment specifying why that's not possible. In the code, always assume the type you're getting is the one you don't need. (Parse floats, check types, etc.)
2. Don't overshare.
Try to only pass the least amount of data you can. Instead of passing an entire object to a card, only pass the content you'll actually be using.
3. If a prop isn't required, set a default.
I think everyone does this because it's a pretty obvious one but we use the react/require-default-props eslint rule.
Besides requiring 100% coverage, we really don't have more rules than that. Hope it helps!
Hi Stefan!
Sorry to necro this old reply :-)
I have a question about using isRequired.
If you have a prop that is required, do you leave it at that, or do you have any other fallbacks?
I'm thinking about:
1) Making sure the code doesn't break even if a required prop is not provided.
and / or
2) Having a part of or the whole component not render at all if the required prop is not provided.
I feel like you can argue that "isRequired" is the fallback.
But on the other hand, it's often nice to avoid breaking the application or having it render weird stuff.
A simple example would be a menu element where you'd probably set a text as required.
I think it's nice not to break an app, but when a developer is misusing a component, the app should break. Otherwise it can be difficult to debug why the app doesn't work as expected. Check your values before rendering the component, then the component should be very dumb and just require certain props.