Trabajando en un proyecto de reacción/mecanografiado, tengo un div y quiero reemplazar el color del borde y el ancho de un div cuando se hace clic en él:
<div className="showroom-card " onClick={() => setSelection({ showroom: 'Westchester' })} >Sé que debería ser simple, pero soy bastante nuevo en esto.
en javascript puedes hacer pero por favor describe más
div.style.border="1px solid #000";Con html/js puro se vería así:
.showroom-card { width: 500px; height: 300px; background-color: yellow; border: 2px solid red; } .selected { border: 2px solid black; } <div id="card1" class="showroom-card" onClick="(function(divId) { targetDiv = document.querySelector(`#${divId}`) targetDiv.classList.toggle('selected') })('card1');return false;" ></div> Pero en reaccionar debes usar el estado del componente para manipular el estilo de div. Por ejemplo, usaría la variable divToggled en el estado de su componente para representar el borde y manipular su color. La función del controlador, denominada handleDivClick cambia el estado y el componente, se volverá a representar:
class YourComponent extends React.Component { ... handleDivClick = () => { this.setState(divToggled: !this.state.divToggled) } ... render() { return ( <div onClick={this.handleDivClick} className={`showroom-card ${this.state.divToggled ? 'selected' : ''}`} /> ) } }