mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 12:20:20 +01:00
Branch terminals didn't have a fallthrough because they correspond to an outer terminal (optional, logical, etc) that has the "real" fallthrough. But understanding how branch terminals correspond to these outer terminals requires knowing the branch fallthrough. For example, `foo?.bar?.baz` creates terminals along the lines of:
```
bb0:
optional fallthrough=bb4
bb1:
optional fallthrough=bb3
bb2:
...
branch ... (fallthrough=bb3)
...
bb3:
...
branch ... (fallthrough=bb4)
...
bb4:
...
```
Without a fallthrough on `branch` terminals, it's unclear that the optional from bb0 has its branch node in bb3. With the fallthroughs, we can see look for a branch with the same fallthrough as the outer optional terminal to match them up.
ghstack-source-id:
|
||
|---|---|---|
| .. | ||
| apps/playground | ||
| crates | ||
| docs | ||
| packages | ||
| scripts | ||
| .eslintrc.js | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| package.json | ||
| README.md | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
| yarn.lock | ||
React Compiler
React Compiler is a compiler that optimizes React applications, ensuring that only the minimal parts of components and hooks will re-render when state changes. The compiler also validates that components and hooks follow the Rules of React.
More information about the design and architecture of the compiler are covered in the Design Goals.
More information about developing the compiler itself is covered in the Development Guide.