Skip to content

Commit 1a0c4d3

Browse files
committed
fix: fixed potential error when hook suspends and error is accessed
1 parent 3b45b4d commit 1a0c4d3

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

Diff for: src/core/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ function resultContainer<TValue>() {
1919
return value as TValue
2020
},
2121
get error() {
22-
const { error } = results[results.length - 1]
22+
const { error } = results[results.length - 1] ?? {}
2323
return error
2424
}
2525
}

Diff for: src/dom/__tests__/suspenseHook.test.ts

+6
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,10 @@ describe('suspense hook tests', () => {
5252

5353
expect(result.current).toBe(undefined)
5454
})
55+
56+
test('should return undefined if error is requested before suspension has resolved', async () => {
57+
const { result } = renderHook(() => useFetchName(true))
58+
59+
expect(result.error).toBe(undefined)
60+
})
5561
})

Diff for: src/native/__tests__/suspenseHook.test.ts

+6
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,10 @@ describe('suspense hook tests', () => {
5252

5353
expect(result.current).toBe(undefined)
5454
})
55+
56+
test('should return undefined if error is requested before suspension has resolved', async () => {
57+
const { result } = renderHook(() => useFetchName(true))
58+
59+
expect(result.error).toBe(undefined)
60+
})
5561
})

0 commit comments

Comments
 (0)