React Just Changed Forever

Sdílet
Vložit
  • čas přidán 14. 05. 2024
  • React Conf just happened, and it's been a wild ride. React 19 is out, but that's old news. We're here for something almost forgotten, something I've wanted for awhile.
    The React Compiler is here. I'm so hyped.
    SOURCES
    playground.react.dev
    react.dev/learn/react-compiler
    • React Compiler: In-Dep...
    github.com/facebook/react/pul...
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4seOn3 for the awesome edit 🙏
  • Věda a technologie

Komentáře • 311

  • @LongJourneys
    @LongJourneys Před 16 dny +1445

    Don't worry, it's a JS framework, it'll change forever again next week

  • @edumorangobolcombr
    @edumorangobolcombr Před 16 dny +597

    We write TSX that becomes JSX that becomes JS that becomes "Compiled" JS that becomes ByteCode
    Porque, Maria

    • @andreilucasgoncalves1416
      @andreilucasgoncalves1416 Před 16 dny +20

      Devs just want more magic to be more productive

    • @furycorp
      @furycorp Před 16 dny +29

      Meanwhile vanillajs gets more capable all the time :)

    • @friendly__drone9352
      @friendly__drone9352 Před 16 dny +3

      Is that a Pablo Francisco reference, my dude?

    • @steftrando
      @steftrando Před 16 dny +10

      Because it's totally cross platform. Web code is actually useful code.

    • @unkouwnfigure2746
      @unkouwnfigure2746 Před 15 dny +4

      nothing stops you from building dekstop apps using C and QT if you want

  • @MCroppered
    @MCroppered Před 16 dny +294

    “Don’t write this down. It will all change next week”

  • @caseyblair2341
    @caseyblair2341 Před 16 dny +131

    The best feature of React is it puts food on my family

  • @IoIxD
    @IoIxD Před 16 dny +613

    Bro was so excited he made the video on the old DVD camcorder he found in the trash.

    • @siriusmain1763
      @siriusmain1763 Před 16 dny +9

      💀

    • @novnod
      @novnod Před 16 dny +3

      Omg lmao

    • @t3dotgg
      @t3dotgg  Před 16 dny +194

      Fun fact, I actually had the camera on a mini tripod on a sideways trash can

    • @alexanderhorner
      @alexanderhorner Před 16 dny +17

      @@t3dotgg I don't think it's that bad

    • @IoIxD
      @IoIxD Před 16 dny

      @@alexanderhorner Well yeah it's viewable, it's more funny if anything.

  • @speckdratz
    @speckdratz Před 15 dny +32

    Watching solely to support the no-stupid-face-on-thumbnail approach 🙃

  • @hi_im_julian_kirsch
    @hi_im_julian_kirsch Před 16 dny +124

    So, the compiler basically does what Svelte's compiler has been doing so far but for React?
    Neat

    • @gageracer
      @gageracer Před 16 dny

      Also with the less line of code too. Svelte5next is 124.961 lines. Facebook devs are geniuses.

    • @user-mx1ek4sl2m
      @user-mx1ek4sl2m Před 15 dny +23

      Yeah, now we got sveltes good practice on an actual good framework*

    • @zuma206
      @zuma206 Před 15 dny +19

      Not really at all, the svelte compiler converts it's vanilla js looking signal code into actual js signal code. react compiler produces the same code you could write normally, but with added optimisations that you'd usually add yourself using useMemo, memo, etc

    • @gageracer
      @gageracer Před 15 dny +5

      @@zuma206 Yeah, it's a footGun remover. Not even a full compiler to optimize your code, at least yet.

    • @Booyamakashi
      @Booyamakashi Před 15 dny +5

      @@zuma206 "You would write normally" - Have you seen gibberish that compiler spits out?

  • @malcolmdude
    @malcolmdude Před 16 dny +47

    Thanks for the update. Regarding Rust vs Go for the react compiler - Rust's algebraic types make it much easier to write parsers, ASTs and compilers compared to languages without these features.

  • @elirane85
    @elirane85 Před 16 dny +26

    memoizing is one of things that doesn't feel needed at first but then you find yourself with hundreds of components and everything grinds to a halt. I worked on a project where after around 5 years of development without using memoizing it became so sluggish that we had to skip two release windows just to add memoization to the hundreds if not thousands of components we had until it was usable again.

  • @cristianosoleti489
    @cristianosoleti489 Před 15 dny +28

    Funny how when Vue used a compiler (and still does), React devs used to say "I don't like compilers doing magic for me"

    • @cocoscacao6102
      @cocoscacao6102 Před 14 dny +7

      Eh... React devs always gravitated slowly to what other frameworks had already done years ago, while being completely oblivious about it and calling it innovation.

    • @labilawal
      @labilawal Před 14 dny

      @@cocoscacao6102 So react is the Apple of frameworks?

    • @Me-vc4sf
      @Me-vc4sf Před 14 dny +8

      React is like apple of javascript devs

    • @oceantume
      @oceantume Před 12 dny +3

      One thing that made react stand out through all the shining new things that get released is that it virtually never forced anything and most improvements are optional and progressive additions you can do.
      The contrary is not necessarily a deal breaker for most, but when you have huge apps in production and you want upgrades without having to touch every component every few months it can definitely matter.
      You can still import react from a CDN today and use the non-jsx functions to use react on a single page of an old php app if you want.

  • @orterves
    @orterves Před 16 dny +107

    React spending all this time fixing issues of their own making.

    • @Novacification
      @Novacification Před 8 dny

      Yeah, a framework so flawed that it needs its own compiler to avoid unintended side-effects during render.

  • @NeilTheFisher
    @NeilTheFisher Před 16 dny +2

    Jack Herrington mentioned that memoization won't work for proxy state, specifically mentioning mobx. What do you think the best solution for that would be? I've been using valtio and that may affect me as well.

  • @binitrupakheti4246
    @binitrupakheti4246 Před 15 dny +4

    I remember a time when memoizing was seen like the devil, and people were like the overhead is much more than rerendering everything. It's funny to see how the times have changed and memoizing is the default now because turns out a check for the cache is almost always going to be faster than recalculating the value.

  • @centner813
    @centner813 Před 15 dny

    First hand experience in delivering updates/news. Thanks man!

  • @sumitkarmakar-vc9bv
    @sumitkarmakar-vc9bv Před 14 dny +3

    I have one question , isnt our bundler be much more in size since the compiler is adding more code for caching?

  • @JamesMikrut
    @JamesMikrut Před 16 dny +12

    i cannot WAIT to see what this does for our UI performance

    • @readywhen
      @readywhen Před 15 dny

      I love how much Payload is benefitting from the newest next and react changes! Glad you guys are putting in crazy effort to adapt so quickly

    • @Booyamakashi
      @Booyamakashi Před 15 dny +3

      Probably you wont notice, unless you start digging into performance tab. Unless you are a real customer with shitty pc, bloated OS, full ram and bad network.

    • @HUEHUEUHEPony
      @HUEHUEUHEPony Před 14 dny +1

      It will add 10 minutes to your build time

    • @yoz0__
      @yoz0__ Před 7 dny

      Cannot wait to see how many new bugs it will introduce

  • @davidalejandrollanesbojorq63

    Hey, please can you tell me what Theme you are using in VS code?

  • @thisandthatguy1156
    @thisandthatguy1156 Před 16 dny +1

    What are those menu icons after the recording one?

  • @RockRespawn
    @RockRespawn Před 15 dny +2

    ngl Theo, liked this format of video a lot more than the heavily produced ones :)

  • @zactron1997
    @zactron1997 Před 16 dny +30

    Considering how large the React Compiler codebase is already, I'm not surprised they want to rewrite in Rust straight away instead of something like Go. Rust's strict rules are one of the best ways to wrangle a massive codebase with that many contributors, especially in a context as important as "The Official React Compiler". Unit tests are just not enough to ensure reproducible results between commits. Throw in performance concerns and the possibility of using the React Compiler in the browser through WASM (Go's support in WASM is horrible compared to Rust) and it makes complete sense. Finally, this is a project they've already finished prototyping over the past 3 years. I doubt there's going to be any major changes to the fundamentals going forward.
    Whether you like it or hate it, the React Compiler is one of the prime examples of where Rust is a good fit for a project.

    • @piaIy
      @piaIy Před 15 dny +1

      It's unfair to bring up Go's performance in Wasm in its current state when managed languages have to ship their own GC. Once WasmGC is stable, everyone will jump on languages that actually get shit done.

    • @zactron1997
      @zactron1997 Před 15 dny +2

      @@piaIy I don't have any particular gripes with Go, if you like it then have at it! To say it's unfair to comment on Go's lack of performance on WASM is a bit silly though. I also find it silly that you're saying nothing gets done in Rust, in a comment on a video discussing things getting done in Rust.
      But to more directly address your point, WASM GC isn't enough to make Go viable on WASM. The fundamental issue is WASM is a highly resource constrained environment, so explicit management of resources is required to get even modest performance. Go is a good language, but this is an area where it is just a bad fit. It's like trying to run TypeScript on embedded.

  • @tungthanh4297
    @tungthanh4297 Před 16 dny +1

    Will webpack, vite are still working with such a new React compiler?

  • @ojolowoboluwatife9136
    @ojolowoboluwatife9136 Před 16 dny +1

    Great video,
    I'm happy I could catch up

  • @darkoplax7688
    @darkoplax7688 Před 15 dny +30

    it's hard to take Theo seriously when he does these 20min clickbait videos every other day about react changing

  • @DevlogBill
    @DevlogBill Před 15 dny

    Very exciting stuff. Since this is so new upon release date it would be nice if they left on Vite the new compile version and as well as the standard React project download version. I am assuming the compiler version will be excellent for certain use cases.

  • @ElvenSpellmaker
    @ElvenSpellmaker Před 16 dny +102

    JavaScript changes so often Theo'll come back after the next talk and update saying it's been replaced with the next shiny thing already.

  • @fredbluntstoned
    @fredbluntstoned Před 16 dny +5

    Forever? That's weird! Usually react only changes for a short period! :o

  • @MasterF3
    @MasterF3 Před 15 dny

    Does this eliminate all unnecessary re-renders and the need for other techniques like building the component further up and passing it down as a prop?

  • @asemyamak3984
    @asemyamak3984 Před 15 dny +4

    Who moved on to SolidJs or Svelte for good?

  • @matejukmar
    @matejukmar Před 15 dny +15

    For me it feels the compiler is result of something being wrong in the core of react in the first place

    • @offlercrocgod
      @offlercrocgod Před 15 dny +4

      Indeed, if they used signals all this would be redundant.

  • @fadfooood
    @fadfooood Před 15 dny

    React compiler only works with react 19? If yes, then how do we use it on existing projects?

  • @mag2XYZ
    @mag2XYZ Před 15 dny

    So how much does this add to the bundle size?

  • @americanbagel
    @americanbagel Před 16 dny +5

    I feel like react changes forever every other month

  • @farhanghazali4406
    @farhanghazali4406 Před 15 dny +3

    Don't worry, its React, They will fix it again next version

  • @ytuser6276
    @ytuser6276 Před 16 dny +6

    How does it affect bundle size?

  • @underflowexception
    @underflowexception Před 16 dny +3

    new week, more complexity!

  • @chaos_monster
    @chaos_monster Před 15 dny +3

    Welcome on the darkside of using compiler.
    Signed the Angular Community for 8 years

  • @andy_lamax
    @andy_lamax Před 16 dny +6

    Doesn't this affect bundle size though?

    • @lumiannah
      @lumiannah Před 14 dny +2

      My thoughts exactly. What about memory footprint as well?

  • @thiagovieira8569
    @thiagovieira8569 Před 16 dny +35

    Agajn?

    • @Frazful
      @Frazful Před 16 dny +1

      My thoughts exactly

  • @ddomingo
    @ddomingo Před 15 dny

    This is some cool stuff. I am glad that React is taking this direction.

  • @brennan123
    @brennan123 Před 16 dny +10

    A compiler that doesn't work across file boundaries? WAT?!?!?

    • @TimLouw
      @TimLouw Před 15 dny +3

      More of just a parser or transpiler with some predefined find and replace properties😂

    • @Leonhart_93
      @Leonhart_93 Před 14 dny +1

      @@TimLouw Even real compilers do that step.

    • @TimLouw
      @TimLouw Před 14 dny +1

      @@Leonhart_93 I'm aware they do that step but that's not what makes them proper compilers... It's a feature they generally handle but the fact that this compiler doesn't go across file boundaries is leaving a massive amount of optimization on the table.

    • @theshermantanker7043
      @theshermantanker7043 Před 11 dny

      That's literally every C or C++ compiler when you turn Link Time Optimization off. It's really more common than you think

  • @Rtzoor
    @Rtzoor Před 14 dny

    funny seeing you with natural lighting then KRAZAM drops The Solar Sermon

  • @Leonhart_93
    @Leonhart_93 Před 14 dny

    Now this compiler might actually be an improvement that will make me add something new for the first time in the past 5 years.

  • @colin_actually
    @colin_actually Před 15 dny +11

    React changes forever every year. It's how we keep the javascript programmers too busy to work in other sectors.

    • @warrenarnold
      @warrenarnold Před 14 dny +1

      Frontend developers are not programmer 😅😂😂😂😂

  • @wesleycoder
    @wesleycoder Před 15 dny +1

    It's awesome to see this problem being fixed after so long time.
    It's sad that this is a problem we created for ourselves. 😅

    • @StephanHoyer
      @StephanHoyer Před 15 dny +1

      If you mean fixing like fixing a broken leg with a band-aid, than you are right 😂

  • @JuliusMalunhao
    @JuliusMalunhao Před 12 dny

    I love your videos bro thanks for the info

  • @RolandAyala
    @RolandAyala Před 15 dny +2

    This biggest problem w/ React right now IMO is the it's too tied to Next/Vercel. I look forward to that problem getting fixed, and will happily stay on alt frameworks like Remix even if it means missing out on or needing to wait a long time for all the latest and greatest React features.

    • @juxuanu
      @juxuanu Před 15 dny

      Next.js with OpenNext works wonderfully in docker

    • @WilliamWelsh
      @WilliamWelsh Před 15 dny +1

      hey roland great news you can actually use react without next or vercel just like theo did this entire video

  • @sgguitarfan7
    @sgguitarfan7 Před 15 dny +3

    Svelte had to exist, just so that react could become less shitty.

  • @RasmusSchultz
    @RasmusSchultz Před 14 dny

    what about output file size? compiled output looks substantially more complex. I also wonder how this affects debugging.
    the addition of a compiler radically changes React code from something where you can easily imagine what the output looks like - the standard React JSX transform is so trivial, so easy to understand and explain. we've sort of lost that.
    I'm still unsure why I should be more excited about this than about something like Solid, which was designed and built for the kind of performance and scalability React is fighting for... but did so with design rather than by layering more complexity on top of complexity.
    at the end of the day, doesn't all of this added complexity exist primarily to correct inherent design problems that React itself created?

  • @raphauy
    @raphauy Před 15 dny

    Very promising. Thank you!

  • @mirzazplayz_rblx
    @mirzazplayz_rblx Před 14 dny +2

    This guy yapp so much!!

  • @dotthree7894
    @dotthree7894 Před 15 dny +1

    Imagine trying to use a hammer, but each time you use it the handle is different

  • @BarakaAndrew
    @BarakaAndrew Před 15 dny

    This is great, now we need static hermes on mobile then react is the only tool one needs for everything

  • @Fidicirj
    @Fidicirj Před 15 dny +3

    No shit Theo, this format much much better that your normal videos. Not much opinions, enjoying the news, not much reactions. Hopefully you will keep it up.

  • @senpaijs798
    @senpaijs798 Před 15 dny

    Our belowed React Paster Theo.

  • @nro337
    @nro337 Před 16 dny

    Huge news!

  • @ThatDereKid
    @ThatDereKid Před 15 dny +7

    So basically rich harris was right

    • @SilvestreVivo
      @SilvestreVivo Před 15 dny

      Basically he always is

    • @StephanHoyer
      @StephanHoyer Před 15 dny +1

      No. Both where wrong. Solution is a simpler, more predictable framework than react. Compiling makes things even more opaque. Try to debug in that code.

    • @SilvestreVivo
      @SilvestreVivo Před 15 dny +1

      @@StephanHoyer I think Svelte 5 is pretty easy to debug. We don't need more React craziness. There are better alternatives.

    • @StephanHoyer
      @StephanHoyer Před 15 dny

      @SilvestreVivo I don't mean react. I find it aweful, too. But there are much simpler alternatives that don't need compilation at all. Like mithriljs.

    • @SilvestreVivo
      @SilvestreVivo Před 15 dny

      @@StephanHoyer mithriljs? hahah I am migrating a project from mithriljs to Svelte because is extremely difficult to maintain. Let's be serious please.

  • @snowwsquire
    @snowwsquire Před 15 dny

    The 14 inch mbp aspect ratio feels very weird but i kinda like it

  • @ParanoidxProd
    @ParanoidxProd Před 16 dny +12

    Sexy tan lines 👀 Now that’s the T3 Skater Boy we all know and love!

  • @kodekorp2064
    @kodekorp2064 Před 9 dny

    I remember when React first released and I had to choose between react or angularJS as the current two main techs lol

  • @ArturMullerDesign
    @ArturMullerDesign Před 10 dny

    Congrats on making a video without a silly face thumbnail! It's great 🔥

  • @yungouda
    @yungouda Před 15 dny

    We need to make Theo implement a compiler in Go and in Rust.

  • @coomservative
    @coomservative Před 15 dny +11

    TL;DR it’s Svelte now

  • @yashjadhav6838
    @yashjadhav6838 Před 15 dny

    Will this also affect react Native

  • @alexanderhorner
    @alexanderhorner Před 16 dny +2

    Off topic: I love the hair. How do you make you hair curly/wavey like that?

    • @t3dotgg
      @t3dotgg  Před 16 dny +3

      I went to a different climate (Vegas) and didn't blowdry my hair this morning. This is technically how it "naturally looks"

    • @alexanderhorner
      @alexanderhorner Před 16 dny

      @@t3dotgg nice

  • @JenuelDev
    @JenuelDev Před 12 dny

    wait, is this already in vuejs?

  • @neizvestniydrug
    @neizvestniydrug Před 13 dny +1

    Hype! Hype! Hype!!🎉🎉🎉😂😂😂

  • @AivoPaas
    @AivoPaas Před 15 dny +1

    "React code" and "elegant" in the same sentence. Laughing in Vue.

  • @hodev632
    @hodev632 Před 14 dny

    If it leads to the removal of unused code in react dom, so we don't download 140 kb library, it would be great. That's the point of using build tools . Like what we have in Svelte other than that, it's a nice update

  • @toshobg
    @toshobg Před 16 dny +2

    I've never been so confused in my life

  • @dedicatedserver8214
    @dedicatedserver8214 Před 16 dny

    How much does the compiler increase bundle size? With all the extra if statements etc

    • @aldi_nh
      @aldi_nh Před 15 dny +4

      its compiler dude, do you include babel and typescript in your bundle?

    • @dedicatedserver8214
      @dedicatedserver8214 Před 15 dny

      @@aldi_nh no, it adds code into your bundle though to memorize components

    • @MrQuezPL
      @MrQuezPL Před 15 dny +1

      but he is right. Obviously we won't be including all the compiler code, but we definitely will include output from the compiler with additional optimisation overhead

  • @TimLouw
    @TimLouw Před 15 dny +11

    I can't believe the React team took this many years to realise that they could deliver a much better developer experience and much better app performance by using a compiler. All the actually great frameworks started out with a compiler because they knew how key it was from the beginning.

    • @geekofia
      @geekofia Před 14 dny +3

      React wasn't a framework, it was a library. Now it's becoming a framework.

    • @TimLouw
      @TimLouw Před 14 dny

      @@geekofia it's been touted as just a library but has over the years gained more and more of the typical features of a framework and it doesn't compete against libraries, it competes against frameworks. Just search React vs and all the results will be it getting compared to frameworks.

  • @dmullen1994
    @dmullen1994 Před 16 dny +1

    ur hair looks good at this length

    • @rob011
      @rob011 Před 15 dny

      That’s not length, it’s 1-based indexing

  • @CristianKirk
    @CristianKirk Před 15 dny +2

    React changed forever for 3 months.

  • @williamliu796
    @williamliu796 Před 15 dny

    is this something that is being built into ‘next dev’?

  • @patcoston
    @patcoston Před 15 dny +1

    6:46 I found a bug in your wording. Check the spelling of etcetera, then listen to yourself say it. I used to say it that way until one day I went to write etc. but instead I wrote ect., then I thought, that can't be right. I figured out the glitch in my matrix, and uploaded a patch.

  • @madmax404
    @madmax404 Před 15 dny

    what is this aspect ratio? 20:13???

  • @jrreed47
    @jrreed47 Před 15 dny

    I ran out of breath for you watching this

  • @paxdriver
    @paxdriver Před 15 dny

    Theo, you're amazing

  • @mailslurp
    @mailslurp Před 15 dny

    hype god

  • @pinatacolada7986
    @pinatacolada7986 Před 15 dny +1

    I'm at a conference but rather than enjoy myself, socialize, meet and talk to people and relax - I ran away to my secluded hotel room to talk, alone to myself. Find the bar, nerd.

  • @sashogs
    @sashogs Před 16 dny +2

    Time to move to solid?

  • @osbyrne
    @osbyrne Před 16 dny

    here before @malix ????

  • @voltflake
    @voltflake Před 15 dny

    0 days since react changed forever

  • @mr.random8447
    @mr.random8447 Před 15 dny +3

    Team Svelte

  • @rapzid3536
    @rapzid3536 Před 15 dny

    MobX and chill.

  • @emaayan
    @emaayan Před 14 dny

    a pull request with 1900 commits, grab a snack the code review may take a while...

  • @richardantao3249
    @richardantao3249 Před 15 dny

    Hot take: every piece of software changes forever after every release

  • @user-xj5gz7ln3q
    @user-xj5gz7ln3q Před 16 dny +15

    Wait until next week... It'll change again. :D

    • @crism8868
      @crism8868 Před 16 dny

      "Don't bother writing any of this down is going to change next week"
      - Programmers are also human

  • @pastuh
    @pastuh Před 15 dny +2

    sometimes I think... need go back to art, one simple pencil which never changes

    • @gabbeeto
      @gabbeeto Před 12 dny +1

      well your keyboard never changes and the techniques you're going to use in art are going to be different overtime

  • @MichaelLazarski
    @MichaelLazarski Před 15 dny +1

    React is Svelte now

  • @gwarf5555
    @gwarf5555 Před 16 dny

    that mic makes it look like you've been shot.

  • @lazarpro3030
    @lazarpro3030 Před 15 dny +1

    so they were the ones lagging github

  • @ricky2629
    @ricky2629 Před 15 dny

    It just converts between JSX and JS, it's not a compiler it's a transpiler

    • @mihailmojsoski4202
      @mihailmojsoski4202 Před 13 dny +1

      gcc just converts between C and machine code, it's not a compiler it's a transpiler

  • @Caldaron
    @Caldaron Před 14 dny +1

    theo got new teeth?

  • @yahm0n
    @yahm0n Před 15 dny

    So the compiler just memoizes everything and hides the mess from you?

  • @bluecup25
    @bluecup25 Před 15 dny

    To be honest, IG in the web moves like s**t and makes my browser run out of RAM if I open several tabs, which is quite an incredible feat for an online image / short video viewer.

  • @kevinweir2499
    @kevinweir2499 Před 4 dny +1

    Someone please tell Theo there is an entire world of software out there besides JavaScript. A language by the way that was conceived and written in 10 days. Draw your own conclusions about the implications of that.

  • @habong17359
    @habong17359 Před 15 dny +1

    Tomorrow: React Just Changed Forever and Ever

    • @habong17359
      @habong17359 Před 15 dny

      Next week: Next.js Just Changed Web Development

    • @habong17359
      @habong17359 Před 15 dny

      Next month: React Just Changed Forever, But This Time For Real

    • @habong17359
      @habong17359 Před 15 dny

      2 Month later: Next.js Just Changed Everything, But This Time "EVERYTHING"

    • @habong17359
      @habong17359 Před 15 dny

      3 Month later: React Got Rid of `use()`

    • @habong17359
      @habong17359 Před 15 dny

      4 Month later: Next.js Revives `use()` and Changes The Fundamental Thinking of Web Development.

  • @prestigealanazi2993
    @prestigealanazi2993 Před 15 dny +1

    I was about to learn svelte wat

    • @prestigealanazi2993
      @prestigealanazi2993 Před 15 dny +1

      I thought that will change a little of the syntax or coding simplicity , but seems no , therefore I would still learn svelte kit and capacitor js ( as it seems the best easiest way ) for the backend tho I think I will mix between asp , node and mongodb

  • @cesarmartinez2207
    @cesarmartinez2207 Před 10 dny

    yes the react team went a different way with the compiler because instead of doing what signals already fixed they decided to hide the garbage behind this magic compiler