Fix side effects in router-is-ready tests (#24360)

Fixes the [failing react@experimental tests](https://github.com/vercel/next.js/actions/workflows/test_react_experimental.yml).
This commit is contained in:
Gerald Monaco 2021-04-22 10:20:39 -07:00 committed by GitHub
parent 1e9f45931c
commit cce82cd7bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 40 additions and 20 deletions

View file

@ -1,13 +1,17 @@
import { useRouter } from 'next/router'
import { useLayoutEffect } from 'react'
export default function Page(props) {
const router = useRouter()
if (typeof window !== 'undefined') {
// eslint-disable-next-line react-hooks/rules-of-hooks
useLayoutEffect(() => {
if (!window.isReadyValues) {
window.isReadyValues = []
}
window.isReadyValues.push(router.isReady)
}, [router])
}
return (

View file

@ -1,13 +1,17 @@
import { useRouter } from 'next/router'
import { useLayoutEffect } from 'react'
export default function Page(props) {
const router = useRouter()
if (typeof window !== 'undefined') {
// eslint-disable-next-line react-hooks/rules-of-hooks
useLayoutEffect(() => {
if (!window.isReadyValues) {
window.isReadyValues = []
}
window.isReadyValues.push(router.isReady)
}, [router])
}
return (

View file

@ -1,13 +1,17 @@
import { useRouter } from 'next/router'
import { useLayoutEffect } from 'react'
export default function Page(props) {
const router = useRouter()
if (typeof window !== 'undefined') {
// eslint-disable-next-line react-hooks/rules-of-hooks
useLayoutEffect(() => {
if (!window.isReadyValues) {
window.isReadyValues = []
}
window.isReadyValues.push(router.isReady)
}, [router])
}
return (

View file

@ -1,13 +1,17 @@
import { useRouter } from 'next/router'
import { useLayoutEffect } from 'react'
export default function Page(props) {
const router = useRouter()
if (typeof window !== 'undefined') {
// eslint-disable-next-line react-hooks/rules-of-hooks
useLayoutEffect(() => {
if (!window.isReadyValues) {
window.isReadyValues = []
}
window.isReadyValues.push(router.isReady)
}, [router])
}
return (

View file

@ -1,13 +1,17 @@
import { useRouter } from 'next/router'
import { useLayoutEffect } from 'react'
export default function Page(props) {
const router = useRouter()
if (typeof window !== 'undefined') {
// eslint-disable-next-line react-hooks/rules-of-hooks
useLayoutEffect(() => {
if (!window.isReadyValues) {
window.isReadyValues = []
}
window.isReadyValues.push(router.isReady)
}, [router])
}
return (