Commit ff83c88
authored
Fix SSR error with
## Description
Using `useLayoutEffect` in combination with SSR results in a warning.
This PR adds
[isomorphicLayoutEffect](https://github.com/reduxjs/react-redux/blob/7e2fdd4ee2021e4282e12ba9fc722f09124e30cd/src/utils/useIsomorphicLayoutEffect.ts#L36),
which acts as a `useEffect` when running on server and as
`useLayoutEffect` everywhere else. This fixes
#3375.
Note: This may cause #2920 to happen when running SSR, however as we
couldn't replicate the issue on main, probably due to same changes to
view recycling within react native, I think it would even be ok to
simply revert
#2925,
and simply only `useEffect`, so it shouldn't be an issue.
I decided to use `isomorphicLayoutEffect` instead of reverting to ensure
correctness.
## Test plan
See that there is no warning mentioned in #3375useLayoutEffect (#3752)1 parent fbcdaaa commit ff83c88
2 files changed
Lines changed: 22 additions & 10 deletions
Lines changed: 3 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
| 2 | + | |
9 | 3 | | |
10 | 4 | | |
11 | 5 | | |
| |||
19 | 13 | | |
20 | 14 | | |
21 | 15 | | |
22 | | - | |
| 16 | + | |
23 | 17 | | |
24 | 18 | | |
25 | 19 | | |
| |||
149 | 143 | | |
150 | 144 | | |
151 | 145 | | |
152 | | - | |
| 146 | + | |
153 | 147 | | |
154 | 148 | | |
155 | 149 | | |
| |||
Lines changed: 19 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
0 commit comments