Estoy usando un script de inicio de sesión de Salesforce de terceros que ejecuta una devolución de llamada de la función onLogin en el objeto de window con el token de autenticación y el nombre de inicio de sesión, etc. cuando el inicio de sesión se realiza correctamente.

Para capturar este evento, he definido esta función en mi componente React que luego debería hacer algunas consultas y reducir cosas, sin embargo, React se queja de una Invalid hook call. Hooks can only be called inside of the body of a function component. Invalid hook call. Hooks can only be called inside of the body of a function component. cuando se window.onLogin devolución de llamada window.onLogin . ¿Cómo ejecuto mi código de componente desde una función que se ejecuta fuera del contexto de mi componente React?

 const LoginPage = ({ actions }) ={amp}gt; { const { validateIdentitySuccess } = actions; React.useEffect(() ={amp}gt; { const validateLogin = (identity) ={amp}gt; { const { error, data } = doMyApolloQuery.... if (data) { validateIdentitySuccess(identityStore); } }; window.onLogin = (identity) ={amp}gt; { validateLogin(identity); // ERROR GETS THROWN HERE }; } }, []); return ( {amp}lt;{amp}gt; ..... {amp}lt;/{amp}gt; ); }; 

La documentación de Salesforce dice que se cree una función llamada onLogin que se llamará cuando la autenticación tenga éxito:

 {amp}lt;script{amp}gt; function onLogin(identity) { // ... identity contains login auth token etc } {amp}lt;script{amp}gt; 

Actualmente, inicio sesión, y luego cuando window.onLogin el error. Lograr esto vinculado a mi componente React es el problema.

Ralph W

es un nuevo contribuyente a este sitio. Tenga cuidado al pedir aclaraciones, comentarios y respuestas. Mira nuestro

Código de Conducta

.