Skip to content

Commit 972cefc

Browse files
committed
add new test
1 parent 6959c39 commit 972cefc

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

test/use-swr-laggy.test.tsx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,4 +160,38 @@ describe('useSWR - keep previous data', () => {
160160
[key2, [key2]]
161161
])
162162
})
163+
164+
it('should support changing the `keepPreviousData` option', async () => {
165+
const loggedData = []
166+
const fetcher = k => createResponse(k, { delay: 50 })
167+
let keepPreviousData = false
168+
function App() {
169+
const [key, setKey] = useState(createKey())
170+
const { data: laggedData } = useSWR(key, fetcher, {
171+
keepPreviousData
172+
})
173+
loggedData.push([key, laggedData])
174+
return <button onClick={() => setKey(createKey())}>change key</button>
175+
}
176+
177+
renderWithConfig(<App />)
178+
await act(() => sleep(100))
179+
fireEvent.click(screen.getByText('change key'))
180+
await act(() => sleep(100))
181+
keepPreviousData = true
182+
fireEvent.click(screen.getByText('change key'))
183+
await act(() => sleep(100))
184+
185+
const key1 = loggedData[0][0]
186+
const key2 = loggedData[2][0]
187+
const key3 = loggedData[4][0]
188+
expect(loggedData).toEqual([
189+
[key1, undefined],
190+
[key1, key1],
191+
[key2, undefined],
192+
[key2, key2],
193+
[key3, key2],
194+
[key3, key3]
195+
])
196+
})
163197
})

0 commit comments

Comments
 (0)