Open
Description
What kind of issue is this?
- React Compiler core (the JS output is incorrect, or your app works incorrectly after optimization)
- babel-plugin-react-compiler (build issue installing or using the Babel plugin)
- eslint-plugin-react-compiler (build issue installing or using the eslint plugin)
- react-compiler-healthcheck (build issue installing or using the healthcheck script)
Link to repro
Repro steps
running the following code will result in a Cannot read properties of null (reading 'test')
interface Test{
test: string;
}
export const TestBroken = () => {
const [test, setTest] =
React.useState < Test | null > (null);
return (
<>
<button onClick = {() => test == null ? setTest({test:"test"}) : setTest(null)}> Toggle </button>
<button disabled={!test} onClick= {() =>console.log(test!.test)}> Print </button>
</>
)
}
this code runs fine when changing the non-null assertion into an if statement:
- <button disabled={!test} onClick= {() =>console.log(test!.test)}> Print </button>
+ <button disabled={!test} onClick={() => { if (test) console.log(test.test) }}> Print </button>
How often does this bug happen?
Every time
What version of React are you using?
19.1.0
What version of React Compiler are you using?
19.1.0-rc.1