👉🏻 This "Quick Start with Pinia" lesson on Pinia breaks down this powerful Vue state management library, showing you how to efficiently manage data across components.
👉🏻 This library is written using Vue 3 with Composition API, and the components are designed and written in a traditional Vue way possible, with full TypeScript support.
👉🏻 Lightweight and framework independent but offers Vue 2/3, Alpine.js and Svelte integrations.
🔥 Vue Tip: Avoid Side Effects in Computed Properties
It is considered bad practice to introduce side effects inside computed properties and functions because it makes the code unpredictable and hard to understand.
What is a side effect? In the context of computed properties, a side effect is a modification of the state's global state or the internal component state.
Let's take a look at an example with side effects:
1<script setup lang="ts">2import { computed, ref } from 'vue'34const firstName = ref('Michael')5const lastName = ref('Hoffmann')6const array = ref([])78const fullName = computed(() => {9 firstName.value = 'Mike' // side effect10 return `${firstName.value} ${lastName.value}`11})1213const reversedArray = computed(() => array.value.reverse()) // side effect, original array is mutated14</script>
Now let's change the code and remove the side effects:
1<script setup lang="ts">2import { computed, ref } from 'vue'34const firstName = ref('Michael')5const lastName = ref('Hoffmann')6const array = ref([])78const fullName = computed(() => `${firstName.value} ${lastName.value}`)9const reversedArray = computed(() => array.value.slice(0).reverse()) // .slice creates a copy of the array10</script>
Now the code is predictable and easy to understand. The computed properties fullNamefullName and reversedArrayreversedArray only depend on the values of firstNamefirstName, lastNamelastName, and arrayarray. They don't modify the global state or the internal component state.
Dynamic Parameters in Oracle APEX REST Data Source Synchronizations Jul 25, 2024 · 6 min read Introduction In this post, I will describe how to dynamically pass parameters to Oracle APEX Rest Data Source Synchronizations. APEX REST Source Synchronizations allow you to declaratively Sync data from an REST API to a local table. Please read this post for more on why you may want to do that. This works well if you want to synchronize small to medium-sized data sets. The challenge comes when you want to sync larger data sets. For example, you would not want to Synchronize 1 million records over a REST API hourly. We need a way to run our Sync every hour but only pick up records that have changed in the last hour. Oh, and by the way, we want to do this declaratively! APEX REST Source Synchronization Steps to the Rescue. Use Case We have been tasked with Synchronizing Time Entries from the Harvest Time Entry SaaS Application to a local Oracle DB table for use in an APEX Appl...
评论
发表评论