@@ -3,17 +3,16 @@ import React, { ReactNode, Suspense, useEffect, useState } from 'react'
3
3
import useSWR , { mutate } from 'swr'
4
4
import { createResponse , sleep } from './utils'
5
5
6
- class ErrorBoundary extends React . Component < { fallback ? : ReactNode } > {
7
- state = { hasError : false , message : null }
8
- static getDerivedStateFromError ( error : Error ) {
6
+ class ErrorBoundary extends React . Component < { fallback : ReactNode } > {
7
+ state = { hasError : false }
8
+ static getDerivedStateFromError ( ) {
9
9
return {
10
- hasError : true ,
11
- message : error . message
10
+ hasError : true
12
11
}
13
12
}
14
13
render ( ) {
15
14
if ( this . state . hasError ) {
16
- return this . props . fallback || this . state . message
15
+ return this . props . fallback
17
16
}
18
17
return this . props . children
19
18
}
@@ -259,46 +258,4 @@ describe('useSWR - suspense', () => {
259
258
expect ( startRenderCount ) . toBe ( 2 ) // fallback + data
260
259
expect ( renderCount ) . toBe ( 1 ) // data
261
260
} )
262
-
263
- it ( 'should throw an error if key is a falsy value' , async ( ) => {
264
- // eslint-disable-next-line @typescript-eslint/no-empty-function
265
- jest . spyOn ( console , 'error' ) . mockImplementation ( ( ) => { } )
266
-
267
- function Page ( ) {
268
- const { data } = useSWR ( null , ( ) => createResponse ( 'SWR' ) , {
269
- suspense : true
270
- } )
271
- return < div > hello, { data } </ div >
272
- }
273
- render (
274
- < ErrorBoundary >
275
- < Suspense fallback = { < div > fallback</ div > } >
276
- < Page />
277
- </ Suspense >
278
- </ ErrorBoundary >
279
- )
280
-
281
- screen . getByText ( 'useSWR requires either key or fetcher with suspense mode' )
282
- } )
283
-
284
- it ( 'should throw an error if fetch is null' , async ( ) => {
285
- // eslint-disable-next-line @typescript-eslint/no-empty-function
286
- jest . spyOn ( console , 'error' ) . mockImplementation ( ( ) => { } )
287
-
288
- function Page ( ) {
289
- const { data } = useSWR ( 'suspense-11' , null , {
290
- suspense : true
291
- } )
292
- return < div > hello, { data } </ div >
293
- }
294
- render (
295
- < ErrorBoundary >
296
- < Suspense fallback = { < div > fallback</ div > } >
297
- < Page />
298
- </ Suspense >
299
- </ ErrorBoundary >
300
- )
301
-
302
- screen . getByText ( 'useSWR requires either key or fetcher with suspense mode' )
303
- } )
304
261
} )
0 commit comments