typescript - Pinia useStore mengembalikan any
Saya menggunakan Pinia dengan Vue3 dan TypeScript. Dengan menggunakan berbagai cara untuk mengetik store, saya belum bisa membuat store diketik sebagai apa pun selain any.
Berikut implementasinya:
import { defineStore } from "pinia";
import type { DataT } from "@/types";
interface DataStore {
data: DataT[];
}
export const useDataStore = defineStore("dataStore", {
state: (): DataStore => ({
data: [] as DataT[],
}),
});
Di mana pun toko ini diimpor dalam sebuah komponen, tipe pengembalian dari useDataStore() adalah any, yang tidak aman tipe. Bagaimana saya bisa mendapatkan keamanan tipe dari toko saya?
Semua komponen Vue menggunakan <script lang="ts" setup> dan berhasil menggunakan tipe TS lainnya di tempat lain.
Berikut adalah contoh bagaimana hal itu diimpor:
<script lang="ts" setup>
// some other imports
import { useDataStore } from "../../store/data";
const dataStore = useDataStore();
// other code follows
</script>