I have a react function component, This function takes in some props.
I want to know if the component had a specific prop passed to it.
Say I have a component, Song, that takes in 1 prop, Genre. I would want to know if the component when used was used with the genre prop.
examples:
<Song></Song>
<Song genre="Rap"></Song>
edit: clarity
You can just check for the undefined
value for the description.
for example:
const MyComponent = ({ title, description }) => {
return (
<div class ="card">
<div class="card-header">{title}</div>
{description && <div class="card-body">{description}</div>}
</div>
)
}
In above example I have used conditional rendering to meet your requirement.
maybe you must create the functional compontent that receive props from parent genre
and the default props of genre
is all, maybe the component will look like this:
const Song = ({ genre="all" }) => {
if(genre === "all") {
return(
<div>this song list has a all genre</div>
)
} else if(genre === "Rap") {
return(
<div>this song list has a genre {genre}</div>
)
}
}
if we set default props so when from the parent component did not send props genre
the default props of genre in song
(which is "all") component will be applied.
put this in your function component return statement
genre can be switched for any prop, actually anything that returns true, false, 1, or 0
{props.genre != undefined && // if genre is not(!=) undefined, which happens when you dont pass the genre prop when using the component, it will run the code. the && means AND, which is true when the left operand is true and the right operand is true (the JSX returns true, i wont get into why)
<Card.Subtitle>
{props.genre}
</Card.Subtitle>
}
edit: tried to add some clarity
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.