rnn

星期四 04 下午 七月 17o 2025

React Native Newsletter Issue 188

React Native Newsletter Issue 188

Issue 188 p{ margin:10px 0; padding:0; } table{ border-collapse:collapse; } h1,h2,h3,h4,h5,h6{ display:block; margin:0; padding:0; } img,a img{ border:0; height:auto; outline:none; text-decoration:none; } body,#bodyTable,#bodyCell{ height:100%; margin:0; padding:0; width:100%; } .mcnPreviewText{ display:none !important; } #outlook a{ padding:0; } img{ -ms-interpolation-mode:bicubic; } table{ mso-table-lspace:0pt; mso-table-rspace:0pt; } .ReadMsgBody{ width:100%; } .ExternalClass{ width:100%; } p,a,li,td,blockquote{ mso-line-height-rule:exactly; } a[href^=tel],a[href^=sms]{ color:inherit; cursor:default; text-decoration:none; } p,a,li,td,body,table,blockquote{ -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; } .ExternalClass,.ExternalClass p,.ExternalClass td,.ExternalClass div,.ExternalClass span,.ExternalClass font{ line-height:100%; } a[x-apple-data-detectors]{ color:inherit !important; text-decoration:none !important; font-size:inherit !important; font-family:inherit !important; font-weight:inherit !important; line-height:inherit !important; } table[align=left]{ float:left; } table[align=right]{ float:right; } .templateContainer{ max-width:600px !important; } a.mcnButton{ display:block; } .mcnImage,.mcnRetinaImage{ vertical-align:bottom; } .mcnTextContent{ word-break:break-word; } .mcnTextContent img{ height:auto !important; } .mcnDividerBlock{ table-layout:fixed !important; } body,#bodyTable{ background-color:#ffffff; } #bodyCell{ border-top:0; } h1{ color:#202020; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:28px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } h2{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:25px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } h3{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:18px; font-style:normal; font-weight:normal; line-height:150%; letter-spacing:normal; text-align:left; } h4{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:19px; font-style:normal; font-weight:bold; line-height:125%; letter-spacing:normal; text-align:left; } #templatePreheader{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:9px; padding-bottom:9px; } #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{ color:#656565; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:16px; line-height:150%; text-align:left; } #templatePreheader .mcnTextContent a,#templatePreheader .mcnTextContent p a{ color:#412951; font-weight:normal; text-decoration:underline; } #templateHeader{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:20px; padding-bottom:12px; } #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:20px; line-height:100%; text-align:center; } #templateHeader .mcnTextContent a,#templateHeader .mcnTextContent p a{ color:#302c32; font-weight:bold; text-decoration:underline; } #templateBody{ background-color:#ffffff; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:32px; padding-bottom:48px; } #templateBody .mcnTextContent,#templateBody .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:16px; line-height:150%; text-align:left; } #templateBody .mcnTextContent a,#templateBody .mcnTextContent p a{ color:#302c32; font-weight:normal; text-decoration:underline; } #templateFooter{ background-color:#transparent; background-image:none; background-repeat:no-repeat; background-position:center; background-size:cover; border-top:0; border-bottom:0; padding-top:9px; padding-bottom:9px; } #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{ color:#302c32; font-family:‘Open Sans’, ‘Helvetica Neue’, Helvetica, Arial, sans-serif; font-size:14px; line-height:150%; text-align:center; } #templateFooter .mcnTextContent a,#templateFooter .mcnTextContent p a{ color:#302c32; font-weight:normal; text-decoration:underline; } @media only screen and (min-width:768px){ .templateContainer{ width:600px !important; } } @media only screen and (max-width: 480px){ body,table,td,p,a,li,blockquote{ -webkit-text-size-adjust:none !important; } } @media only screen and (max-width: 480px){ body{ width:100% !important; min-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnRetinaImage{ max-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnImage{ width:100% !important; } } @media only screen and (max-width: 480px){ .mcnCartContainer,.mcnCaptionTopContent,.mcnRecContentContainer,.mcnCaptionBottomContent,.mcnTextContentContainer,.mcnBoxedTextContentContainer,.mcnImageGroupContentContainer,.mcnCaptionLeftTextContentContainer,.mcnCaptionRightTextContentContainer,.mcnCaptionLeftImageContentContainer,.mcnCaptionRightImageContentContainer,.mcnImageCardLeftTextContentContainer,.mcnImageCardRightTextContentContainer,.mcnImageCardLeftImageContentContainer,.mcnImageCardRightImageContentContainer{ max-width:100% !important; width:100% !important; } } @media only screen and (max-width: 480px){ .mcnBoxedTextContentContainer{ min-width:100% !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupContent{ padding:9px !important; } } @media only screen and (max-width: 480px){ .mcnCaptionLeftContentOuter .mcnTextContent,.mcnCaptionRightContentOuter .mcnTextContent{ padding-top:9px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardTopImageContent,.mcnCaptionBottomContent:last-child .mcnCaptionBottomImageContent,.mcnCaptionBlockInner .mcnCaptionTopContent:last-child .mcnTextContent{ padding-top:18px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardBottomImageContent{ padding-bottom:9px !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupBlockInner{ padding-top:0 !important; padding-bottom:0 !important; } } @media only screen and (max-width: 480px){ .mcnImageGroupBlockOuter{ padding-top:9px !important; padding-bottom:9px !important; } } @media only screen and (max-width: 480px){ .mcnTextContent,.mcnBoxedTextContentColumn{ padding-right:18px !important; padding-left:18px !important; } } @media only screen and (max-width: 480px){ .mcnImageCardLeftImageContent,.mcnImageCardRightImageContent{ padding-right:18px !important; padding-bottom:0 !important; padding-left:18px !important; } } @media only screen and (max-width: 480px){ .mcpreview-image-uploader{ display:none !important; width:100% !important; } } @media only screen and (max-width: 480px){ h1{ font-size:24px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ h2{ font-size:22px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ h3{ font-size:18px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ h4{ font-size:20px !important; line-height:125% !important; } } @media only screen and (max-width: 480px){ .mcnBoxedTextContentContainer .mcnTextContent,.mcnBoxedTextContentContainer .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templatePreheader{ display:block !important; } } @media only screen and (max-width: 480px){ #templatePreheader .mcnTextContent,#templatePreheader .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateHeader .mcnTextContent,#templateHeader .mcnTextContent p{ font-size:18px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateBody .mcnTextContent,#templateBody .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } } @media only screen and (max-width: 480px){ #templateFooter .mcnTextContent,#templateFooter .mcnTextContent p{ font-size:16px !important; line-height:150% !important; } }

Ignite 11, React Native 0.80, Expo SDK 53, and more!

Issue 188   •   Open in browser

React Native Newsletter

This issue: Ignite 11, React Native 0.80, Expo SDK 53, and more!

It’s been a little while since our last edition, and we’ve got a jam packed issue to get you up to speed on everything happening in the React Native world.

But first… Ignite 11: Bison is here! 🦬

This release includes Expo SDK 53, the New Architecture by default, Android edge to edge support, and the end of our MobX-State-Tree era.

Curious about the name Bison? Mark’s post breaks it down.

Let’s dive in 👇
 


The latest React Native release is 0.80.1 (2 weeks ago)
 

Added

  • Flow: Publish top-level Flow types for react-native
  • Flow: Fix typo when publishing Flow types for react-native
     

Fixed

  • jest: Fix missing RefreshControlMock source in Jest preset
     

Android Specific

  • runtime: Fix crash on ReactInstance due to null returned for getViewManagerNames 
  • TurboModules: Emitting event from turbo module crashes on 32bit android

Our top React Native picks 

React Native articles, social media posts, and docs submitted by Infinite Reds team of engineers.

X thread

React Native 0.80 

React Native 0.80 is loaded with changes! This version ships with React 19.1, JavaScript API updates impacting deep imports, and officially freezes support for the legacy architecture. One highlight? React Native 80 will ship with part of React Native iOS as a pre-build to reduce initial build times 🎉

X thread

Ignite 11: Bison 🦬

The latest release of Ignite is loaded with community-driven upgrades, including Expo SDK 53, New Architecture by default, full Android edge-to-edge support, and a long-requested move away from MobX-State-Tree. Read the announcement!

X thread

Expo SDK 53, Router v5, and Workflows Tip

Expo’s latest releases are packed full! Expo SDK 53 brings the New Architecture on by default. Expo Router v5 is now stable and faster. And Expo released a Fingerprint + Repack workflow with a  78% reduction in CI build times. 
 

Open source highlights from around the React Native community

Open source React Native projects, libraries, node modules, or components submitted by the community.

Library

ExecuTorch v0.4.0 brings AI to your app

The latest release of ExecuTorch adds support for multiple LLMs, tool calling, and more — making it easier than ever to run powerful on-device AI in your React Native projects.

Library

React Native Enterprise Framework is now open source

Built as a drop-in replacement for the Community CLI, Callstack’s RNEF is now open source and ready for your next large scale React Native project.

Library

react-native-webgpu-worklets

The new react-native-webgpu-worklets project lets you run WebGPU + ThreeJS on any thread using Reanimated Worklets. It unlocks high-performance, multi-threaded rendering right inside your app! 

Library

Unistyles 3.0 is here

After a year of development, Unistyles 3.0 has officially shipped its stable release with a ton of useful features.

React Native Radio

New!

RNR 337 - Meta Quest for React Native with Markus Leyendecker

Jamon sits down with Markus Leyendecker from Meta to talk about using React Native on Meta Quest. Spoiler alert: Jamon might have purchased a headset after the recording of this episode!

React Native Radio

RNR 336 - Building Boca Socios with Solito ft. Nahue Alberti

Nahue Alberti from Paisanos joins Mazen to break down how they built the Boca Socios app using React Native, Solito, and a universal architecture—plus thoughts on AI testing, fast iteration, and building for real fans.

React Native Radio

RNR 335 - State Management Revisited

State management isn’t one-size-fits-all. Jamon, Robin, and Mazen compare tools they’ve used on real projects, where trade-offs show up, and how their opinions have evolved.

发布者