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

117
Visualizações
el estado no se actualiza en onchange

Hola, en mi aplicación estamos usando initialstate donde se definirán los datos de muestra de la aplicación y usando el contexto para la administración del estado, a continuación se muestra mi estado inicial de muestra:

-

 creditCard: { isSaved: false, lastFourDigits: "1235", loading: false, cardholder: "", cardnumber: "", cardmonth: "", cardyear: "", cardcvv: "", }, etc:{}....

y en mi componente estoy usando usestate para configurar los datos de la siguiente manera:

 const { state,actionsCollection } = useContext(StateContext); const [cardholder, setcardholder] = useState(""); const [cardnumber, setcardnumber] = useState(""); const [cardmonth, setcardmonth] = useState(""); const [cardyear, setcardyear] = useState(""); const [cardcvv, setcardcvv] = useState("");

y en onchange estoy configurando el estado de la siguiente manera:

 <TextField name="cardmonth" label="MM" error={errors.cardmonth} value={cardmonth} onChange={onChange} onBlur={validateInput} helperText={errors.cardmonth && "Invalid month"} className={classes.expiryDateInputs} /> onChange=()=>{ let cardMonth = /^0[1-9]|1[0-2]/.test(e.target.value); if (cardMonth === true) { setcardmonth(e.target.value.replace(/\D/g, "").slice(0, 2)); setErrors({ ...errors, cardmonth: false }); } else { setErrors({ ...errors, cardmonth: true }); } if (state.creditCard.cardyear !== "") { validateExpiryDate(); }

}

pasar estados a componentes no relacionados usando el siguiente código:

 const validateForm = () => { return actionsCollection.booking.validateForm( errors, setErrors, cardholder, setcardholder, cardnumber, setcardnumber, cardType, setCardType, cardmonth, setcardmonth, cardyear, setcardyear, cardcvv, setcardcvv, isCurrentCaseIncluded, cardYearValue ); };

y en acciones estoy usando este código:

 const validateForm = ( errors, setErrors, cardholder, setcardholder, cardnumber, setcardnumber, cardType, setCardType, cardmonth, setcardmonth, cardyear, setcardyear, cardcvv, setcardcvv, isCurrentCaseIncluded, cardYearValue ) => { some validation logic..... }

El problema es que el estado inicial no se está actualizando, no obtengo lo que está mal en mi código. Alguien, por favor, ayuda.

about 4 years ago · Juan Pablo Isaza
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