Skip to content

Commit b9721e4

Browse files
committed
Fixed up reactive set
1 parent d497a3f commit b9721e4

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

04-all-together.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ function trigger(target, key) {
2020
}
2121
let dep = depsMap.get(key) // If there are dependencies (effects) associated with this
2222
if (dep) {
23-
dep.forEach(effect => {
23+
dep.forEach((effect) => {
2424
// run them all
2525
effect()
2626
})
@@ -37,7 +37,7 @@ function reactive(target) {
3737
set(target, key, value, receiver) {
3838
let oldValue = target[key]
3939
let result = Reflect.set(target, key, value, receiver)
40-
if (oldValue != result) {
40+
if (result && oldValue != value) {
4141
trigger(target, key) // If this reactive property (target) has effects to rerun on SET, trigger them.
4242
}
4343
return result

05-activeEffect.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function trigger(target, key) {
2626
}
2727
let dep = depsMap.get(key) // If there are dependencies (effects) associated with this
2828
if (dep) {
29-
dep.forEach(effect => {
29+
dep.forEach((effect) => {
3030
// run them all
3131
effect()
3232
})
@@ -43,7 +43,7 @@ function reactive(target) {
4343
set(target, key, value, receiver) {
4444
let oldValue = target[key]
4545
let result = Reflect.set(target, key, value, receiver)
46-
if (oldValue != result) {
46+
if (result && oldValue != value) {
4747
trigger(target, key) // If this reactive property (target) has effects to rerun on SET, trigger them.
4848
}
4949
return result

06-ref.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function trigger(target, key) {
2626
}
2727
let dep = depsMap.get(key) // If there are dependencies (effects) associated with this
2828
if (dep) {
29-
dep.forEach(effect => {
29+
dep.forEach((effect) => {
3030
// run them all
3131
effect()
3232
})
@@ -43,7 +43,7 @@ function reactive(target) {
4343
set(target, key, value, receiver) {
4444
let oldValue = target[key]
4545
let result = Reflect.set(target, key, value, receiver)
46-
if (oldValue != result) {
46+
if (result && oldValue != value) {
4747
trigger(target, key) // If this reactive property (target) has effects to rerun on SET, trigger them.
4848
}
4949
return result

07-computed.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function trigger(target, key) {
2626
}
2727
let dep = depsMap.get(key) // If there are dependencies (effects) associated with this
2828
if (dep) {
29-
dep.forEach(eff => {
29+
dep.forEach((eff) => {
3030
// run them all
3131
eff()
3232
})
@@ -43,7 +43,7 @@ function reactive(target) {
4343
set(target, key, value, receiver) {
4444
let oldValue = target[key]
4545
let result = Reflect.set(target, key, value, receiver)
46-
if (oldValue != result) {
46+
if (result && oldValue != value) {
4747
trigger(target, key) // If this reactive property (target) has effects to rerun on SET, trigger them.
4848
}
4949
return result

0 commit comments

Comments
 (0)