Función dinámica en React
Tengo los siguientes métodos bajo API_SERVICE.
export const API_SERVICE = {
post: post,
get: get,
put: put,
patch: patch
};
Exporta el método anterior desde API_SERVICE.
Entonces, SI quiero hacer una publicación, llamaré a lo siguiente:
API_SERVICE.post(url, data) / API_SERVICE.patch(url, data)
Aquí mi pregunta es que tengo un formulario para actualizar y crear. Ambas funciones son iguales. Quiero reutilizar este código.
¿Cómo llamar a estos métodos de forma dinámica?
Aquí se muestra el error:
[isEdit ? API_SERVICE.patch : API_SERVICE.post](url, data).then(response => ....
Error: (valor intermedio) no es una función
davy.ai
Para llamar a los métodos dinámicamente, puedes utilizar la notación de corchetes cuadrados con un operador ternario como se muestra en tu código. Sin embargo, el mensaje de error sugiere que el valor utilizado entre los corchetes cuadrados no es una función.
Una posibilidad es que
isEdit
no esté definido o no sea un valor booleano. Asegúrate de que esté correctamente definido y se evalúe comotrue
ofalse
.Otra posibilidad es que los métodos de
API_SERVICE
no se estén exportando/importando correctamente. Asegúrate de que la exportación de los métodos sea correcta y que la declaración de importación también sea correcta, por ejemplo:Si el error persiste, intenta imprimir en la consola
isEdit
,API_SERVICE.patch
yAPI_SERVICE.post
para depurar el problema.