Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

126
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!