'pinia: Define getters and actions in function notation
I am in the process of implementing a pinia store in function notation and am wondering how to declare the getters and actions.
Are these implemented as simple functions without distinction?
import { defineStore } from 'pinia'
import HttpService from '../services/BaseHttpService';
import { ref } from 'vue'
import { User } from '../models/user.model';
const httpService = new HttpService('/users');
export const useUserStore = defineStore('user', () => {
const authedUser = ref(new User())
const users = ref<User[]>([])
function authed() {
return typeof authedUser.value['@id'] === "string";
}
function login(data: { email: string, password: string }) {
const http = new HttpService('/login');
return http.post(data).then((response) => {
authedUser.value = response
users.value = [...users.value, response]
})
}
function getter() {
return users.value;
}
function action(id: number) {
httpService.get(id).then((response) => {
users.value = [...users.value, response]
})
}
return {authedUser, users, authed, login}
})
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
