ملفي main.ts:
import './assets/tailwind.css' import './assets/wordpress.css' import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import router from './router' const app = createApp(App) app.use(createPinia()) app.use(router) app.mount('#app') اقرأ أكثر →
لدي متجر Pinia + TypeScript باسم user.ts الذي يبدو هكذا:
import { User } from 'firebase/auth'; import { defineStore } from 'pinia'; export const useUserStore = defineStore('user', { state: () => ({ displayName: null, em اقرأ أكثر →
أنا أعمل على مشروع Vue.js 3 تم إنشاؤه باستخدام قالب ViteSse، وأريد استخدام أحد متاجر Pinia الخاصة بي المسمى notificationStore خارج مكون setup، لكنني أتلقى خطأ getActivePinia called with no active Pinia. Did you forget to install Pinia عند تشغيل أمر dev. سلوكه غريب جدًا لأنه لا يحدث إذا أضفت useNotificationStore بعد تحميل خادم التطوير، ويعمل بشكل جيد، ولكن عندما يكون useNotificationStore موجودًا في ملف ts الخاص بي وتشغيل أمر dev، يظهر الخطأ.
اقرأ أكثر →
أنا أستخدم Typescript و Pinia و Vue3 ولدي مكون MenuButton أريد أن أتمكن من تمرير متجر Pinia يستخدم لحالة فتح القائمة وكذلك الإجراءات لإظهارها/إخفائها. هناك عدة قوائم مختلفة في التطبيق، ومن هنا تأتي رغبتي في أن أتمكن من تمريرها، وجميعها تستخدم نفس المصنع لتعريف المتاجر. أحاول أن أفهم كيفي
اقرأ أكثر →
لقد أنشأت متجرًا من أجل استخدام مورد المستخدم، ويحتوي هذا المتجر على مصفوفة من الأدوار. ما أحاول القيام به هو البحث عن دور محدد في تلك المصفوفة. حاولت استخدام دوال المصفوفة، لكنها لا تعمل مع PropType
أنا عالق في مشكلة تتعلق بـ TypeScript. الكود يعمل فعليًا، المشكلة فقط هي خطأ في بيئة التطوير يتم إظهاره لي عند محاولتي استخدام دالة $patch من Pinia.
إليك متجري:
import { AuthenticationResult } from '@azure/msal-browser' import { defineStore } from 'pinia' import { ref } from 'vue' const useAuthStore = defineStore('auth', () => { const details = ref<AuthenticationResult>() return { details } }) export default useAuthStoreإليك شفرتي التي تحاو
اقرأ أكثر →لأجل احتياج مشروعي، أحتاج إلى إنشاء storeFactory لتنظيم إنشاء متجر pinia.
لقد قمت بإزالة المعلمات هنا بشكل محدد وبسطت مثال الشيفرة.
عندما أكون في الملف A، يتم استرجاع نوع storeFactory تلقائيًا بشكل صحيح
عندما أكون في الملف B يُفقد النوع ولا يمكن استنتاج سوى هذا
StoreDefinition<"store_id", {} | _UnwrapAll<Pick<any, string | number>>, {} | Pick<...>, {} | Pick<...>لا أستطيع استخدام Pinia في Nuxt 2.15.8 و Vue 2.7.10 مع Typescript، جربت العديد من الطرق وثبتت العديد من التبعيات، لكنها لا تعمل، جربت أشياء كثيرة لدرجة أنني اضطررت لإعادة تشغيل مجلداتي الرئيسية على GitHub؛ قمت بتثبيت هذه التبعيات
"@pinia/nuxt": "^0.4.9", "vue-server-renderer": "^2.7.10", "vue-template-compiler": "^2.7.10"في الوحدات المدمجة حاولت استخدام Pinia، لكنها لم تعمل، لذلك الآن هي فارغة:
اقرأ أكثر →أنا أستخدم Pinia مع Vue3 وTypeScript. باستخدام الطرق المختلفة العديدة لتحديد نوع المخزن، لم أتمكن من جعل المخزن يُحدد نوعه كشيء آخر سوى any.
إليك التنفيذ:
import { defineStore } from "pinia"; import type { DataT } from "@/types"; interface DataStore { data: DataT[]; } export const useDataStore = defineStore("dataStore", { state: (): DataStore => ({ data: [] as DataT[], }), });في أي مكان يتم استيراد
اقرأ أكثر →
أحاول تنفيذ إدارة الحالة (pinia) في تطبيق صفحة واحدة (SPA). نحن نستخدم TypeScript وأتساءل عما إذا كان هناك أي طريقة لتعريف حالة بناءً على واجهة بدون الحاجة إلى كتابة نوع كل خاصية في الحالة مرة أخرى. باختصار، إخبار الحالة بأنها مبنية على واجهة وأنها تبدأ
اقرأ أكثر →