Tengo un componente de función de reacción. Esta función incluye algunos accesorios.
Quiero saber si al componente se le pasó un accesorio específico.
Digamos que tengo un componente, Canción, que admite 1 utilería, Género. Me gustaría saber si el componente cuando se usó se usó con el accesorio de género.
ejemplos:
<Song></Song> <Song genre="Rap"></Song>editar: claridad
Simplemente puede verificar el valor undefined para la descripción.
por ejemplo:
const MyComponent = ({ title, description }) => { return ( <div class ="card"> <div class="card-header">{title}</div> {description && <div class="card-body">{description}</div>} </div> ) }En el ejemplo anterior, he utilizado la representación condicional para cumplir con su requisito.
tal vez deba crear el componente funcional que recibe accesorios del genre principal y los accesorios predeterminados del genre son todos, tal vez el componente se verá así:
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> ) } } si configuramos accesorios predeterminados, de modo que cuando el componente principal no envió el genre de accesorios, se aplicarán los accesorios predeterminados del género en la song (que es "todos").
ponga esto en su declaración de devolución del componente de función
el género se puede cambiar para cualquier accesorio, en realidad cualquier cosa que devuelva verdadero, falso, 1 o 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> }editar: traté de agregar algo de claridad