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

118
Visualizações
recomponer withHandlers... de forma asíncrona?

¿Es posible/seguro usar withHandlers con promesas? Ex.:

 withHandlers({ onChange: props => event => { props.callAPI(props.data) .then(data => props.updateData(data)) }, ...

¡Gracias!

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Después de algunas pruebas me di cuenta de que está funcionando bastante bien. Recomponer rocas para la construcción con componentes puros.

Esto es perfectamente válido y funciona bastante bien.

 const enhWithHandlers = withHandlers({ loginUserMutation: props => args => { props.updateMutationState(loading: true, error: null }); props.loginUser(args) .then(() => props.updateMutationState({loading: false, error: null })) .catch(err => props.updateMutationState({ loading: false, error: err })); } }, ... // then compose like export default compose( reduxConnect, gqlConnectLogin, gqlConnectRegister, enhWithState, enhWithHandlers )(UserLoginRegister);

Me ayuda a superar la falta de capacidad para reflejar los resultados de la mutación de graphQl con el cliente Apollo en el componente envuelto. Esto lo maneja a la perfección y sin necesidad de efectos secundarios en el propio componente.

over 4 years ago · Santiago Trujillo Relatório

0

Pero hay algunos problemas cuando lo usamos así:

 compose( withState('loginStatus', 'setLoginStatus', {loading: false, error:null}), withHandlers({ loginUserMutation: props => async args => { try { props.setLoginStatus({loading: true, error: null}); await props.loginUser(args); } catch(error) { props.setLoginStatus({...props.loginStatus, error}); } finally { props.setLoginStatus({...props.loginStatus, loading: false}); } } }) )

Debido a que la referencia de props se pierde después de await props.loginUser(args) . Entonces lo usamos después de que está mal.

Debemos notar que no lo usemos como arriba.


over 4 years ago · Santiago Trujillo 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