From: Eduardo San Martin Morote Date: Mon, 4 Mar 2024 15:44:55 +0000 (+0100) Subject: docs: improve getter return type X-Git-Tag: @pinia/nuxt@0.5.2-beta.0~45 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=66760f73808cf7cdc48c2d98c4a27071b99da4ed;p=thirdparty%2Fvuejs%2Fpinia.git docs: improve getter return type --- diff --git a/packages/docs/core-concepts/getters.md b/packages/docs/core-concepts/getters.md index 02ae81a5..ff36bd76 100644 --- a/packages/docs/core-concepts/getters.md +++ b/packages/docs/core-concepts/getters.md @@ -55,9 +55,28 @@ const store = useCounterStore() ## Accessing other getters -As with computed properties, you can combine multiple getters. Access any other getter via `this`. Even if you are not using TypeScript, you can hint your IDE for types with the [JSDoc](https://jsdoc.app/tags-returns.html): +As with computed properties, you can combine multiple getters. Access any other getter via `this`. In this scenario, **you will need to specify a return type** for the getter. -```js +::: code-group + +```ts [counterStore.ts] +export const useCounterStore = defineStore('counter', { + state: () => ({ + count: 0, + }), + getters: { + doubleCount(state) { + return state.count * 2 + }, + doubleCountPlusOne(): number { + return this.doubleCount + 1 + }, + }, +}) +``` + +```js [counterStore.js] +// You can use [JSDoc](https://jsdoc.app/tags-returns.html) in JavaScript export const useCounterStore = defineStore('counter', { state: () => ({ count: 0, @@ -80,6 +99,8 @@ export const useCounterStore = defineStore('counter', { }) ``` +::: + ## Passing arguments to getters _Getters_ are just _computed_ properties behind the scenes, so it's not possible to pass any parameters to them. However, you can return a function from the _getter_ to accept any arguments: