¿Hay alguna razón (excluyendo tener un gran conocimiento) para aprender jQuery además de un marco como Vue.js o React.js? ¿Se pueden combinar de alguna manera? En caso afirmativo, ¿es una buena práctica?

El hecho es que jQuery está literalmente en todas partes. Sería difícil encontrar un proyecto que no lo aproveche en alguna parte, de alguna manera. Bootstrap se basa en jQuery, al igual que Full Calendar y muchos otros. Si alguna vez planea trabajar en un equipo, hacerse cargo de un proyecto o simplemente trabajar con proyectos como WordPress, conocer jQuery ya ayudará a acelerar su capacidad de contribuir activamente.

jQuery también es una biblioteca, una colección de herramientas relacionadas con las deficiencias de Javascript en lo que respecta a la gestión de eventos y el recorrido DOM. También tiene una biblioteca AJAX entre navegadores integrada.

Vue es bastante agnóstico con las herramientas que usa. Si necesita realizar solicitudes HTTP desde su aplicación o componente Vue, no hay nada que le impida usar jQuery (con un par de enlaces) para ese proceso. Vue no toma ninguna decisión al respecto. He oído hablar de algunas aplicaciones Vue que usan Lodash para alguna utilidad / polyfill en su aplicación (no puedo recordar ninguna en este momento).

Ahora supongo que la pregunta es más ” ¿necesito saber jQuery para usar Vue? “A lo que la respuesta es no. Puede usar Vue sin combinar jQuery in. Pero no siempre necesitará la funcionalidad que proporciona Vue, especialmente para cosas más pequeñas. Recomiendo pasar al menos una introducción a jQuery para que cuando decida que necesita su funcionalidad ya tenga una base sobre la cual avanzar.

este ha sido mi

jQuery es un veterano en el mundo de JS, y * muchos * proyectos lo usan. Al menos deberías entender la mecánica básica de jQuery incluso hoy en día donde jQuery se está volviendo menos importante.

No recomiendo mezclar jQuery y React, aunque técnicamente es posible. El problema es que jQuery manipula el DOM directamente, lo que se considera un Anti-Pattern en el mundo React (aunque existen excepciones, en las que debe trabajar directamente en DOM). En React, los cambios de estado desencadenan las conciliaciones de DOM virtuales que se utilizan para determinar cómo se debe actualizar el DOM real de manera eficiente. El uso de jQuery en métodos de ciclo de vida como `componentDidMount` y especialmente` componentDidUpdate` puede tener un tremendo impacto en el rendimiento. En un gráfico de componentes, es común que el método Reacts `render` se llame con bastante frecuencia (al igual que `componentDidUpdate`). Imagine que usa un complemento jQuery que agrega un montón de elementos HTML, y algo de lógica de script, a un elemento. Por lo tanto, cada vez que se active `render`, todos estos elementos se volverán a escribir y se volverán a representar en DOM. Los complementos de jQuery se desarrollaron a la vez, donde era normal inicializar los gráficos DOM solo una vez (generalmente en el momento de la carga), de modo que la lógica del complemento y su manipulación DOM rara vez se ejecutaban más de una vez. Por lo tanto, el rendimiento de los complementos no era tan importante. Hoy en día, los libs / frameworks reactivos que usan una representación DOM intermedia (generalmente llamada DOM virtual) llaman a su rutina de renderización extremadamente a menudo … el concepto general ha cambiado fundamentalmente.