1 | export default function shallowEqual(objA, objB) {
|
2 | if (objA === objB) {
|
3 | return true
|
4 | }
|
5 |
|
6 | const keysA = Object.keys(objA)
|
7 | const keysB = Object.keys(objB)
|
8 |
|
9 | if (keysA.length !== keysB.length) {
|
10 | return false
|
11 | }
|
12 |
|
13 | // Test for A's keys different from B.
|
14 | const hasOwn = Object.prototype.hasOwnProperty
|
15 | for (let i = 0; i < keysA.length; i++) {
|
16 | if (!hasOwn.call(objB, keysA[i]) ||
|
17 | objA[keysA[i]] !== objB[keysA[i]]) {
|
18 | return false
|
19 | }
|
20 | }
|
21 |
|
22 | return true
|
23 | }
|