What kind of issue is this?
Link to repro
https://playground.react.dev/#N4Igzg9grgTgxgUxALhAHQHYDMobgFwEsIMACAFUIFsEYAhAQzAQBMBhCKgBxIQ3wAUXGBC5gAlKWCZSpOCTD5SMBFwQN8AUQBufJQF5SUZpqxYEBHXoEDJ+gHxSZs0sNFgAdCQBKq9YPEAbmdZZnxKGmhBW1IHJzIXWRU1DSt+W2CE2QBfABpSADYABiDnbNKMZwAbBCUAbRYIAHcMfLCAEWaMAF1Yo2YAZXwNBAEsBirmCtljBFNzAhs7R2ks0kIsUgFGlslVxNkAekPSRQYYJWT-MFIGLHxaUhYEKoYATxCXMIiEKKXYlbKPypXTpSR5UgARiKMPEn2yZQqzhU+FgZAEnwAPCxCNpSCQALLQZidFr6YAxOIdLoCfAwKAIcTZUiHezOCoIjAgXIgeTYQgAcxQIGoPAupHwbzUUlIAAUqlABYQMAB5LhEBSkZlYERUUgAcgARgxDS8ALRcBVKjBmlQMAhm+TcQg1GCHHGKfWZTACfYsw5OrgujTEDBE57IUhoEATKrRzDMsAhsBYQgIG7yxXKtUajASQLc8AAC2aAEl+LQMBMwChxpMENkgA
Repro steps
Open the repro link, the error will be on the side
Found 1 error:
Error: Cannot access variable before it is declared
repeatEvent is accessed before it is declared, which prevents the earlier access from updating when this value changes over time.
4 | props.onRepeat();
5 | setTimeout(() => {
6 | repeatEvent();
| ^^^^^^^^^^^ repeatEvent accessed before it is declared
7 | }, 60);
8 | });
9 |
1 |
2 | function TimerBasedComponent(props) {
3 | const repeatEvent = useEffectEvent(() => {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 | props.onRepeat();
| ^^^^^^^^^^^^^^^^^^^^^
5 | setTimeout(() => {
| ^^^^^^^^^^^^^^^^^^^^^
6 | repeatEvent();
| ^^^^^^^^^^^^^^^^^^^^^
7 | }, 60);
| ^^^^^^^^^^^^^^^^^^^^^
8 | });
| ^^^^^^ repeatEvent is declared here
9 |
10 | let [down, setDown] = useState(false);
11 | useEffect(() => {
How often does this bug happen?
Every time
What version of React are you using?
19.2
What version of React Compiler are you using?
7.0.0
What kind of issue is this?
Link to repro
https://playground.react.dev/#N4Igzg9grgTgxgUxALhAHQHYDMobgFwEsIMACAFUIFsEYAhAQzAQBMBhCKgBxIQ3wAUXGBC5gAlKWCZSpOCTD5SMBFwQN8AUQBufJQF5SUZpqxYEBHXoEDJ+gHxSZs0sNFgAdCQBKq9YPEAbmdZZnxKGmhBW1IHJzIXWRU1DSt+W2CE2QBfABpSADYABiDnbNKMZwAbBCUAbRYIAHcMfLCAEWaMAF1Yo2YAZXwNBAEsBirmCtljBFNzAhs7R2ks0kIsUgFGlslVxNkAekPSRQYYJWT-MFIGLHxaUhYEKoYATxCXMIiEKKXYlbKPypXTpSR5UgARiKMPEn2yZQqzhU+FgZAEnwAPCxCNpSCQALLQZidFr6YAxOIdLoCfAwKAIcTZUiHezOCoIjAgXIgeTYQgAcxQIGoPAupHwbzUUlIAAUqlABYQMAB5LhEBSkZlYERUUgAcgARgxDS8ALRcBVKjBmlQMAhm+TcQg1GCHHGKfWZTACfYsw5OrgujTEDBE57IUhoEATKrRzDMsAhsBYQgIG7yxXKtUajASQLc8AAC2aAEl+LQMBMwChxpMENkgA
Repro steps
Open the repro link, the error will be on the side
Found 1 error:
Error: Cannot access variable before it is declared
repeatEventis accessed before it is declared, which prevents the earlier access from updating when this value changes over time.4 | props.onRepeat();
5 | setTimeout(() => {
1 |
2 | function TimerBasedComponent(props) {
How often does this bug happen?
Every time
What version of React are you using?
19.2
What version of React Compiler are you using?
7.0.0