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

226
Visualizações
¿Cómo puedo acceder a una variable de estado usando una cadena dentro del componente funcional?

Estoy tratando de acceder a una variable de estado usando una cadena dentro de un componente funcional de React.

Por ejemplo, sé que en los componentes de clase puedo hacer lo siguiente para acceder al estado según la entrada:

 class Form extends React.Component { constructor(props) { super(props); this.state = { inputOne: null }} handleBlur(e, name) { if (!this.state[name]) { this.setState({ [`${name}Missing`]: true, }); } else { this.setState({ [`${name}Missing`]: false, }); } render() { <input onBlur={(e) => this.handleBlur(e, "inputOne")}></input> } }

Al usar this.state[name] dentro de la función handleBlur , puedo acceder dinámicamente al valor de estado de inputOne.

¿Cómo haría algo similar dentro de un componente funcional?

¡Gracias por tu tiempo!

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

0

La única forma de hacer esto en un componente funcional sería tener el mismo tipo de estructura de estado que en el componente de clase, es decir, para los valores de estado a los que desea acceder dinámicamente, colóquelos todos en un objeto (o una matriz) .

 const [inputs, setInputs] = useState({ inputOne: null })

Y luego const someStr = 'inputOne' y las inputs[someString] le darán ese valor de estado. Para configurarlo:

 setInputs({ ...inputs, [someStr]: newValue // or use whatever computed property name you want });

Por lo general, se recomienda usar variables de estado separadas cuando se usan componentes funcionales, pero cuando tiene muchas variables de estado a las que desea acceder dinámicamente, usar un solo objeto o matriz puede tener más sentido.

about 4 years ago · Juan Pablo Isaza Relatório

0

Usted puede hacer eso:

 import { useState } from 'react'; const Custom = () => { const [state, setState] = useState({ inputOne: "", }); const handleBlur = (e, name) => { if (!state[name]) { setState({ [`${name}Missing`]: true, }); } else { setState({ [`${name}Missing`]: false, }); } } return ( <input onBlur={(e) => handleBlur(e, "inputOne")}></input> ); };
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