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

127
Visualizações
Cómo llamar y devolver datos desde un enlace personalizado solo si una condición es válida

En mi aplicación React, necesito devolver algunos datos y funciones desde un gancho personalizado. Los datos de enlace solo deben devolverse si una condición es válida.

El gancho personalizado se usa así:

 const { conversation, currentMember, handleAddMessage, handleResolveConversation, } = useConversation(consentee);

La idea es que en pseudocódigo:

 if (valid_condition) // give back the things from the hook const { conversation, => DATA currentMember, => DATA handleAddMessage, => FUNCTION handleResolveConversation, => FUNCTION } = useConversation(consented); else give back the CONSENTEE and the rest should be NULL

El problema es que necesito llamar a este enlace si se cumple la condición válida y no estoy seguro de cómo hacerlo y devolver lo que necesito usar.

El segundo problema es para la conversation y currentMemebr , que no necesitan devolver nada para no activar otras cosas relacionadas, pero tengo ese parámetro de consentee que necesito devolver solo como datos si no se llama al gancho.

Por favor, pregunte en los comentarios si confunde demasiado mi pregunta :)

Como referencia, estoy agregando el gancho personalizado.

 const useConversation = consentee => { const { user } = useAuth(); const { joinConversation, joinedConversation } = useJoinConversation(); const resolveConversation = useResolveConversation(); const addMessage = useAddMessage(); const conversation = useGetConversation(joinedConversation?.conversation?.id); const currentMember = useMemo(() => joinedConversation?.member, [ joinedConversation, ]); useEffect(() => { if (consentee) { const input = { originId: consentee?.id, originType: conversationOriginTypes.consentee, memberId: user.id, name: `${user.firstName} ${user.lastName}`, memberType: messageAuthorTypes.user, }; joinConversation(input); } }, [consentee, joinConversation, user]); const handleAddMessage = useCallback( async message => { const content = trimWhitespace(message); const input = { conversationId: joinedConversation?.conversation?.id, memberId: currentMember.id, content, }; await addMessage(input); }, [joinedConversation, addMessage, currentMember], ); const handleResolveConversation = useCallback(async () => { await resolveConversation(joinedConversation?.conversation?.id); }, [resolveConversation, joinedConversation]); return { conversation, currentMember, handleAddMessage, handleResolveConversation, }; }; export default useConversation;
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