Así que solo necesitas crear una vista local, usar tu plugin Pina y antes de cada caso de prueba, crear la Pina de testing, pasando el estado inicial y encontrando la tienda. Y luego al montar el componente, necesitas pasar la vista local y Pina también. Entonces, un rápido repaso, los getters en Vue.js 2 y Jest no son modificables. Así que necesitas establecer el estado correcto para que funcionen como se espera. Así que así, si quieres establecer el recuento de la tienda, puedes escribirlo o simplemente parchear la tienda si necesitas actualizar más propiedades a la vez. Puedes migrar tus pruebas de esta manera.
Así que moviendo create store e importando create testing Pina y new store. Eliminando el create store de Vuex y usando create testing Pina. Y de nuevo, importando el plugin Pina más largo en el shallow mount y probando todo de esta manera. Lo mismo para VJSU, solo importa lo que necesitas, define tu tienda en lugar de la tienda Vuex y pásala a la función shallow o a la función mount y todo debería funcionar. Bueno, sí, no exactamente. Así que hay un par de problemas de migración. Llamémoslos nudos de migración.
Así que si estabas usando la tienda con un enfoque directo como este, ahora necesitas importar tu tienda y acceder a las propiedades y getters usando la tienda y no más uso mágico de la tienda. Lo mismo para commit y dispatch. Si estabas usando commit y dispatch desde cualquier lugar de tu aplicación, ahora necesitas importar la tienda y llamar a la función actual, la función de acción. Luego otra cosa que necesitas recordar es que si estás usando la tienda de esta manera fuera de la pestaña de scripts, bueno, por favor recuerda no escribir esto en la raíz de tu módulo, de lo contrario puedes obtener este error porque no tienes ActivePynea definido. Así que recuerda prepararlo en una función y usarlo así o usarlo en la pestaña de scripts.
Puedes preguntar si Vuex y Pynea pueden coexistir. Bueno, sí, por supuesto, pero al migrar, por favor recuerda migrar módulos enteros y no componentes enteros. Así que necesitas asegurarte de que un solo módulo ha sido migrado antes de pasar a otro módulo solo por orden y simplicidad de migración. Así que pueden coexistir, pero solo tienes un solo módulo de Vuex y ese módulo puede ser migrado a Pynea, pero otros módulos pueden estar en Vuex mientras se migran. Si necesitas persistencia de la tienda, puedes usarla de esta manera en dos formas, realmente, porque puedes suscribirte a los cambios de tu tienda y establecer tu, por ejemplo, almacenamiento local de la manera que prefieras, y puedes restaurarlo cuando la aplicación se haya actualizado usando mystore.state y settings.state, o puedes observar. Puedes usar un observador en tu aplicación y observar los cambios de estado de Pinion y almacenarlos en una variable de almacenamiento local, por ejemplo. Y si necesitas restaurarlo, puedes usar pinion.state.value y establecer su valor.
Ahora hemos llegado al final de nuestra migración. Como tareas finales, necesitamos eliminar Vuex de main.js. Así que solo elimina tu importación y tu uso de la tienda. Y luego podemos eliminar la tienda Vuex y las pruebas. Y por último, pero no menos importante, necesitamos desinstalar las dependencias de Vuex. Así que Vuex y por ejemplo, el plugin CLI de Vue Vuex. Y eso es todo, hemos emigrado de Vuex a Pinia. Ahora te dejo un par de enlaces por supuesto a la documentación oficial de Pinia y dos repositorios con la rama de migración a Pinia, para que puedas revisar y ver lo que necesitas o lo que puedes querer cambiar para migrar de Vuex a Pinia. Y eso es todo, adiós a todos.
Comments