Puedes aplicar estilos de forma condicional a un componente en React usando la prop style
y un operador ternario:
function Button({ text, primary }) {
return (
<button style={{ color: primary ? 'red' : 'blue' }}>
{text}
</button>
)
}
En el caso anterior, si la prop primary
es true
, el botón tendrá el color rojo. Si no, tendrá el color azul.
También puedes seguir la misma mecánica usando clases. En este caso, usamos el operador ternario para decidir si añadir o no la clase:
function Button({ text, primary }) {
return (
<button className={primary ? 'button-primary' : ''}>
{text}
</button>
)
}
También podemos usar bibliotecas como classnames
:
import classnames from 'classnames'
function Button({ text, primary }) {
return (
<button className={classnames('button', { primary })}>
{text}
</button>
)
}
En este caso, si la prop primary
es true
, se añadirá la clase primary
al botón. Si no, no se añadirá. En cambio la clase button
siempre se añadirá.