Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

174
Visualizações
Reaccione la actualización condicional setState en función de los valores anteriores, si el valor del estado es verdadero, hágalo falso y viceversa

tengo un estado

 const [textColor, setTextColor] = useState({ darkText: false, lightText: false, allTextSelected: false, })

Ahora quiero actualizar este estado condicionalmente, si darkText es verdadero, hágalo falso y viceversa

Uso de operador ternario y devolución de llamada

 const onClickDarkText = () => { setTextColor((prevState) => ( prevState.darkText ? { ...prevState, darkText: false } : { ...prevState, darkText: true } )) }

El lado izquierdo no funciona

Usando si/si no

 const onClickDarkText = () => { if (textColor.darkText) { setTextColor({ darkText: false, lightText: false, allTextSelected: false, }) setEmptyFilter(true) } else { setTextColor({ darkText: true, lightText: false, allTextSelected: false, }) setEmptyFilter(false) } }

darkText no vuelve a ser falso una vez que se vuelve verdadero

Me alegraría si me ayudas a encontrar lo que está mal.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede alternar el estado del texto oscuro. Por favor, consulte el código:

 import React, { useState } from 'react'; export default function App() { const [textColor, setTextColor] = useState({ darkText: false, lightText: false, allTextSelected: false, }); const handleClick = () => { setTextColor((prevState) => { return { ...prevState, darkText: !prevState.darkText }; }); }; console.log('textColor.darkText', textColor.darkText); return ( <div> {textColor.darkText ? <div>textColor is true</div> : null} <button onClick={handleClick}>Click</button> </div> ); }
about 4 years ago · Juan Pablo Isaza Relatório

0

No necesita si más, puede alternarlo así:

 const onClickDarkText = () => { // ...textColor will spread all the current values on the new value // toggle darkText with its new value using ! setTextColor({ ...textColor, darkText : !textColor.darkText}) }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda