Skip to content

Instantly share code, notes, and snippets.

View 12cassie34's full-sized avatar

Cassie 12cassie34

View GitHub Profile
@12cassie34
12cassie34 / createEffect
Last active May 9, 2023 16:02
Create my Own React Signal
let currentListener = undefined
const createEffect = (callback) => {
currentListener = callback
callback()
currentListener = undefined
}
// Use case
createEffect(() => {
import { ref, computed } from 'vue'
const A = ref(1)
const B = ref(2)
const C = computed(() => A.value + B.value)
A.value = 2
import { ref, watchEffect } from 'vue'
const A = ref(1)
const B = ref(2)
const C = ref()
watchEffect(() => {
C.value = A.value + B.value
})
let A = 1
let B = 2
let C
function update() {
C = A + B
}
whenDepsChange(update)
console.log(myProxy.message1) // "world"
console.log(myProxy.message2) // "world"
const target = {
message1: "hello",
message2: "everyone"
};
const handler = {
get(target, prop, receiver) {
return "world";
}
};
const myName = ref('Cassie')
myName.value = 'Vanessa'
myFriendList.list.push("Rosalie")
const myFriendList = {
list: ["Pauline", "Ségoline", "Christina"],
get lastNewFriend() {
return this.list[this.list.length - 1]
},
set addNewFriend(newFriend) {
this.list.push(newFriend)
}
}
whenDepsChange(update)