Skip to content

Commit 0d4910a

Browse files
authored
fix(reactivity): add NaN prop on Array should not trigger length dependency. (#1998)
1 parent 124c385 commit 0d4910a

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

packages/reactivity/__tests__/reactiveArray.spec.ts

+2
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ describe('reactivity/reactive/Array', () => {
124124
expect(fn).toHaveBeenCalledTimes(1)
125125
observed[-1] = 'x'
126126
expect(fn).toHaveBeenCalledTimes(1)
127+
observed[NaN] = 'x'
128+
expect(fn).toHaveBeenCalledTimes(1)
127129
})
128130

129131
describe('Array methods w/ refs', () => {

packages/shared/src/index.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,10 @@ export const isPlainObject = (val: unknown): val is object =>
8787
toTypeString(val) === '[object Object]'
8888

8989
export const isIntegerKey = (key: unknown) =>
90-
isString(key) && key[0] !== '-' && '' + parseInt(key, 10) === key
90+
isString(key) &&
91+
key !== 'NaN' &&
92+
key[0] !== '-' &&
93+
'' + parseInt(key, 10) === key
9194

9295
export const isReservedProp = /*#__PURE__*/ makeMap(
9396
'key,ref,' +

0 commit comments

Comments
 (0)