{"componentChunkName":"component---src-templates-blog-js","path":"/blog/2021/12/17/react-conf-2021-recap.html","result":{"data":{"markdownRemark":{"html":"<p>Last week we hosted our 6th React Conf.  In previous years, we’ve used the React Conf stage to deliver industry changing announcements such as <a href=\"https://engineering.fb.com/2015/03/26/android/react-native-bringing-modern-web-techniques-to-mobile/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><em>React Native</em></a> and <a href=\"https://reactjs.org/docs/hooks-intro.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><em>React Hooks</em></a>. This year, we shared our multi-platform vision for React, starting with the release of React 18 and gradual adoption of concurrent features.</p>\n<p>This was the first time React Conf was hosted online, and it was streamed for free, translated to 8 different languages. Participants from all over the world joined our conference Discord and the replay event for accessibility in all timezones. Over 50,000 people registered, with over 60,000 views of 19 talks, and 5,000 participants in Discord across both events.</p>\n<p>All the talks are <a href=\"https://www.youtube.com/watch?v=FZ0cG47msEk&#x26;list=PLNG_1j3cPCaZZ7etkzWA7JfdmKWT0pMsa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">available to stream online</a>.</p>\n<p>Here’s a summary of what was shared on stage:</p>\n<h2 id=\"react-18-and-concurrent-features\"><a href=\"#react-18-and-concurrent-features\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React 18 and concurrent features </h2>\n<p>In the keynote, we shared our vision for the future of React starting with React 18.</p>\n<p>React 18 adds the long-awaited concurrent renderer and updates to Suspense without any major breaking changes. Apps can upgrade to React 18 and begin gradually adopting concurrent features with the amount of effort on par with any other major release.</p>\n<p><strong>This means there is no concurrent mode, only concurrent features.</strong></p>\n<p>In the keynote, we also shared our vision for Suspense, Server Components, new React working groups, and our long-term many-platform vision for React Native.</p>\n<p>Watch the full keynote from <a href=\"https://twitter.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Andrew Clark</a>, <a href=\"https://twitter.com/_jstejada\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Juan Tejada</a>, <a href=\"https://twitter.com/potetotes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Lauren Tan</a>, and <a href=\"https://twitter.com/rickhanlonii\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rick Hanlon</a> here:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe style=\"margin-top:10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; \" src=\"https://www.youtube.com/embed/FZ0cG47msEk\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> </div>\n<h2 id=\"react-18-for-application-developers\"><a href=\"#react-18-for-application-developers\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React 18 for Application Developers </h2>\n<p>In the keynote, we also announced that the React 18 RC is available to try now. Pending further feedback, this is the exact version of React that we will publish to stable early next year.</p>\n<p>To try the React 18 RC, upgrade your dependencies:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"gatsby-code-bash\"><code class=\"gatsby-code-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> react@rc react-dom@rc</code></pre></div>\n<p>and switch to the new <code class=\"gatsby-code-text\">createRoot</code> API:</p>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"gatsby-code-jsx\"><code class=\"gatsby-code-jsx\"><span class=\"token comment\">// before</span>\n<span class=\"token keyword\">const</span> container <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">getElementById</span><span class=\"token punctuation\">(</span><span class=\"token string\">'root'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nReactDOM<span class=\"token punctuation\">.</span><span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">App</span></span> <span class=\"token punctuation\">/></span></span><span class=\"token punctuation\">,</span> container<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token comment\">// after</span>\n<span class=\"token keyword\">const</span> container <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">getElementById</span><span class=\"token punctuation\">(</span><span class=\"token string\">'root'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> root <span class=\"token operator\">=</span> ReactDOM<span class=\"token punctuation\">.</span><span class=\"token function\">createRoot</span><span class=\"token punctuation\">(</span>container<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nroot<span class=\"token punctuation\">.</span><span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span><span class=\"token class-name\">App</span></span><span class=\"token punctuation\">/></span></span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>For a demo of upgrading to React 18, see <a href=\"https://twitter.com/shrutikapoor08\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Shruti Kapoor</a>’s talk here:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe style=\"margin-top:10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; \" src=\"https://www.youtube.com/embed/ytudH8je5ko\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> </div>\n<h2 id=\"streaming-server-rendering-with-suspense\"><a href=\"#streaming-server-rendering-with-suspense\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Streaming Server Rendering with Suspense </h2>\n<p>React 18 also includes improvements to server-side rendering performance using Suspense.</p>\n<p>Streaming server rendering lets you generate HTML from React components on the server, and stream that HTML to your users. In React 18, you can use <code class=\"gatsby-code-text\">Suspense</code> to break down your app into smaller independent units which can be streamed independently of each other without blocking the rest of the app. This means users will see your content sooner and be able to start interacting with it much faster.</p>\n<p>For a deep dive, see <a href=\"https://twitter.com/shaundai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Shaundai Person</a>’s talk here:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe style=\"margin-top:10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; \" src=\"https://www.youtube.com/embed/pj5N-Khihgc\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> </div>\n<h2 id=\"the-first-react-working-group\"><a href=\"#the-first-react-working-group\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>The first React working group </h2>\n<p>For React 18, we created our first Working Group to collaborate with a panel of experts, developers, library maintainers, and educators. Together we worked to create our gradual adoption strategy and refine new APIs such as <code class=\"gatsby-code-text\">useId</code>, <code class=\"gatsby-code-text\">useSyncExternalStore</code>, and <code class=\"gatsby-code-text\">useInsertionEffect</code>.</p>\n<p>For an overview of this work, see <a href=\"https://twitter.com/aakansha1216\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Aakansha’ Doshi</a>’s talk:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe style=\"margin-top:10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; \" src=\"https://www.youtube.com/embed/qn7gRClrC9U\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> </div>\n<h2 id=\"react-developer-tooling\"><a href=\"#react-developer-tooling\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React Developer Tooling </h2>\n<p>To support the new features in this release, we also announced the newly formed React DevTools team and a new Timeline Profiler to help developers debug their React apps.</p>\n<p>For more information and a demo of new DevTools features, see <a href=\"https://twitter.com/brian_d_vaughn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Brian Vaughn</a>’s talk:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe style=\"margin-top:10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; \" src=\"https://www.youtube.com/embed/oxDfrke8rZg\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> </div>\n<h2 id=\"react-without-memo\"><a href=\"#react-without-memo\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React without memo </h2>\n<p>Looking further into the future, <a href=\"https://twitter.com/Huxpro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Xuan Huang (黄玄)</a> shared an update from our React Labs research into an auto-memoizing compiler. Check out this talk for more information and a demo of the compiler prototype:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe style=\"margin-top:10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; \" src=\"https://www.youtube.com/embed/lGEMwh32soc\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> </div>\n<h2 id=\"react-docs-keynote\"><a href=\"#react-docs-keynote\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>React docs keynote </h2>\n<p><a href=\"https://twitter.com/rachelnabors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rachel Nabors</a> kicked off a section of talks about learning and designing with React with a keynote about our investment in React’s <a href=\"https://beta.reactjs.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">new docs</a>:</p>\n<div class=\"gatsby-resp-iframe-wrapper\" style=\"padding-bottom: 56.25%; position: relative; height: 0; overflow: hidden; \" > <iframe style=\"margin-top:10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; \" src=\"https://www.youtube.com/embed/mneDaMYOKP8\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe> </div>\n<h1 id=\"and-more\"><a href=\"#and-more\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>And more… </h1>\n<p><strong>We also heard talks on learning and designing with React:</strong></p>\n<ul>\n<li>Debbie O’Brien: <a href=\"https://youtu.be/-7odLW_hG7s\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Things I learnt from the new React docs</a>.</li>\n<li>Sarah Rainsberger: <a href=\"https://youtu.be/5X-WEQflCL0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Learning in the Browser</a>.</li>\n<li>Linton Ye: <a href=\"https://youtu.be/7cPWmID5XAk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">The ROI of Designing with React</a>.</li>\n<li>Delba de Oliveira: <a href=\"https://youtu.be/zL8cz2W0z34\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Interactive playgrounds with React</a>.</li>\n</ul>\n<p><strong>Talks from the Relay, React Native, and PyTorch teams:</strong></p>\n<ul>\n<li>Robert Balicki: <a href=\"https://youtu.be/lhVGdErZuN4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Re-introducing Relay</a>.</li>\n<li>Eric Rozell and Steven Moyes: <a href=\"https://youtu.be/9L4FFrvwJwY\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">React Native Desktop</a>.</li>\n<li>Roman Rädle: <a href=\"https://youtu.be/NLj73vrc2I8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">On-device Machine Learning for React Native</a></li>\n</ul>\n<p><strong>And talks from the community on accessibility, tooling, and Server Components:</strong></p>\n<ul>\n<li>Daishi Kato: <a href=\"https://youtu.be/oPfSC5bQPR8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">React 18 for External Store Libraries</a>.</li>\n<li>Diego Haz: <a href=\"https://youtu.be/dcm8fjBfro8\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Building Accessible Components in React 18</a>.</li>\n<li>Tafu Nakazaki: <a href=\"https://youtu.be/S4a0QlsH0pU\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Accessible Japanese Form Components with React</a>.</li>\n<li>Lyle Troxell: <a href=\"https://youtu.be/b3l4WxipFsE\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">UI tools for artists</a>.</li>\n<li>Helen Lin: <a href=\"https://youtu.be/HS6vIYkSNks\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Hydrogen + React 18</a>.</li>\n</ul>\n<h1 id=\"thank-you\"><a href=\"#thank-you\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Thank you </h1>\n<p>This was our first year planning a conference ourselves, and we have a lot of people to thank.</p>\n<p>First, thanks to all of our speakers <a href=\"https://twitter.com/aakansha1216\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Aakansha Doshi</a>, <a href=\"https://twitter.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Andrew Clark</a>, <a href=\"https://twitter.com/brian_d_vaughn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Brian Vaughn</a>, <a href=\"https://twitter.com/dai_shi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Daishi Kato</a>, <a href=\"https://twitter.com/debs_obrien\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Debbie O’Brien</a>, <a href=\"https://twitter.com/delba_oliveira\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Delba de Oliveira</a>, <a href=\"https://twitter.com/diegohaz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Diego Haz</a>, <a href=\"https://twitter.com/EricRozell\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eric Rozell</a>, <a href=\"https://twitter.com/wizardlyhel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Helen Lin</a>, <a href=\"https://twitter.com/_jstejada\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Juan Tejada</a>, <a href=\"https://twitter.com/potetotes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Lauren Tan</a>, <a href=\"https://twitter.com/lintonye\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Linton Ye</a>, <a href=\"https://twitter.com/lyle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Lyle Troxell</a>, <a href=\"https://twitter.com/rachelnabors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rachel Nabors</a>, <a href=\"https://twitter.com/rickhanlonii\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rick Hanlon</a>, <a href=\"https://twitter.com/StatisticsFTW\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Robert Balicki</a>, <a href=\"https://twitter.com/raedle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Roman Rädle</a>, <a href=\"https://twitter.com/sarah11918\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Sarah Rainsberger</a>, <a href=\"https://twitter.com/shaundai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Shaundai Person</a>, <a href=\"https://twitter.com/shrutikapoor08\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Shruti Kapoor</a>, <a href=\"https://twitter.com/moyessa\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Steven Moyes</a>, <a href=\"https://twitter.com/hawaiiman0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Tafu Nakazaki</a>, and  <a href=\"https://twitter.com/Huxpro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Xuan Huang (黄玄)</a>.</p>\n<p>Thanks to everyone who helped provide feedback on talks including <a href=\"https://twitter.com/acdlite\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Andrew Clark</a>, <a href=\"https://twitter.com/dan_abramov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Dan Abramov</a>, <a href=\"https://twitter.com/mcc_abe\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Dave McCabe</a>, <a href=\"https://twitter.com/Eli_White\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Eli White</a>, <a href=\"https://twitter.com/en_JS\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Joe Savona</a>,  <a href=\"https://twitter.com/potetotes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Lauren Tan</a>, <a href=\"https://twitter.com/rachelnabors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rachel Nabors</a>, and <a href=\"https://twitter.com/yungsters\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Tim Yung</a>.</p>\n<p>Thanks to <a href=\"https://twitter.com/potetotes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Lauren Tan</a> for setting up the conference Discord and serving as our Discord admin.</p>\n<p>Thanks to <a href=\"https://twitter.com/sethwebster\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Seth Webster</a> for feedback on overall direction and making sure we were focused on diversity and inclusion.</p>\n<p>Thanks to <a href=\"https://twitter.com/rachelnabors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rachel Nabors</a> for spearheading our moderation effort, and <a href=\"https://twitter.com/AishaBlake\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Aisha Blake</a> for creating our moderation guide, leading our moderation team, training the translators and moderators, and helping to moderate both events.</p>\n<p>Thanks to our moderators <a href=\"https://twitter.com/jtannady\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Jesslyn Tannady</a>, <a href=\"https://twitter.com/missuze\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Suzie Grange</a>, <a href=\"https://twitter.com/beccaliz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Becca Bailey</a>, <a href=\"https://twitter.com/lunaleaps\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Luna Wei</a>, <a href=\"https://twitter.com/jsjoeio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Joe Previte</a>, <a href=\"https://twitter.com/Cortinico\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Nicola Corti</a>, <a href=\"https://twitter.com/gweterings\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Gijs Weterings</a>, <a href=\"https://twitter.com/claudiopro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Claudio Procida</a>, Julia Neumann, Mengdi Chen, Jean Zhang, Ricky Li, and <a href=\"https://twitter.com/Huxpro\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Xuan Huang (黄玄)</a>.</p>\n<p>Thanks to <a href=\"https://twitter.com/manjula_dube\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Manjula Dube</a>, <a href=\"https://twitter.com/apheri0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Sahil Mhapsekar</a>, and Vihang Patel from <a href=\"https://www.reactindia.io/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">React India</a>, and <a href=\"https://twitter.com/jasmine_xby\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Jasmine Xie</a>, <a href=\"https://twitter.com/QCL15\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">QiChang Li</a>, and <a href=\"https://twitter.com/anneincoding\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">YanLun Li</a> from <a href=\"https://twitter.com/ReactChina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">React China</a> for helping moderate our replay event and keep it engaging for the community.</p>\n<p>Thanks to Vercel for publishing their <a href=\"https://vercel.com/virtual-event-starter-kit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Virtual Event Starter Kit</a>, which the conference website was built on, and to <a href=\"https://twitter.com/leeerob\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Lee Robinson</a> and <a href=\"https://twitter.com/delba_oliveira\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Delba de Oliveira</a> for sharing their experience running Next.js Conf.</p>\n<p>Thanks to <a href=\"https://twitter.com/wifelette\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Leah Silber</a> for sharing her experience running conferences, learnings from running <a href=\"https://rustconf.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">RustConf</a>, and for her book <a href=\"https://leanpub.com/eventdriven/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Event Driven</a> and the advice it contains for running conferences.</p>\n<p>Thanks to <a href=\"https://twitter.com/_phzn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Kevin Lewis</a> and <a href=\"https://twitter.com/rachelnabors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Rachel Nabors</a> for sharing their experience running Women of React Conf.</p>\n<p>Thanks to <a href=\"https://twitter.com/aakansha1216\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Aakansha Doshi</a>, <a href=\"https://twitter.com/laurieontech\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Laurie Barth</a>, <a href=\"https://twitter.com/chantastic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Michael Chan</a>, and <a href=\"https://twitter.com/shaundai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Shaundai Person</a> for their advice and ideas throughout planning.</p>\n<p>Thanks to <a href=\"https://twitter.com/lebo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Dan Lebowitz</a> for help designing and building the conference website and tickets.</p>\n<p>Thanks to Laura Podolak Waddell, Desmond Osei-Acheampong, Mark Rossi, Josh Toberman and others on the Facebook Video Productions team for recording the videos for the Keynote and Meta employee talks.</p>\n<p>Thanks to our partner HitPlay for helping to organize the conference, editing all the videos in the stream, translating all the talks, and moderating the Discord in multiple languages.</p>\n<p>Finally, thanks to all of our participants for making this a great React Conf!</p>","excerpt":"Last week we hosted our 6th React Conf.  In previous years, we’ve used the React Conf stage to deliver industry changing announcements such as React Native and React Hooks. This year, we shared our multi-platform vision for React, starting with the release of React 18 and gradual adoption of concurrent features. This was the first time React Conf was hosted online, and it was streamed for free, translated to 8 different languages. Participants from all over the world joined our conference…","frontmatter":{"title":"React Conf 2021 Recap","next":null,"prev":null,"author":[{"frontmatter":{"name":"Jesslyn Tannady","url":"https://twitter.com/jtannady"}},{"frontmatter":{"name":"Rick Hanlon","url":"https://twitter.com/rickhanlonii"}}]},"fields":{"date":"December 17, 2021","path":"content/blog/2021-12-17-react-conf-2021-recap.md","slug":"/blog/2021/12/17/react-conf-2021-recap.html"}},"allMarkdownRemark":{"edges":[{"node":{"frontmatter":{"title":"React Labs: What We've Been Working On – June 2022"},"fields":{"slug":"/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.html"}}},{"node":{"frontmatter":{"title":"React v18.0"},"fields":{"slug":"/blog/2022/03/29/react-v18.html"}}},{"node":{"frontmatter":{"title":"How to Upgrade to React 18"},"fields":{"slug":"/blog/2022/03/08/react-18-upgrade-guide.html"}}},{"node":{"frontmatter":{"title":"React Conf 2021 Recap"},"fields":{"slug":"/blog/2021/12/17/react-conf-2021-recap.html"}}},{"node":{"frontmatter":{"title":"The Plan for React 18"},"fields":{"slug":"/blog/2021/06/08/the-plan-for-react-18.html"}}},{"node":{"frontmatter":{"title":"Introducing Zero-Bundle-Size React Server Components"},"fields":{"slug":"/blog/2020/12/21/data-fetching-with-react-server-components.html"}}},{"node":{"frontmatter":{"title":"React v17.0"},"fields":{"slug":"/blog/2020/10/20/react-v17.html"}}},{"node":{"frontmatter":{"title":"Introducing the New JSX Transform"},"fields":{"slug":"/blog/2020/09/22/introducing-the-new-jsx-transform.html"}}},{"node":{"frontmatter":{"title":"React v17.0 Release Candidate: No New Features"},"fields":{"slug":"/blog/2020/08/10/react-v17-rc.html"}}},{"node":{"frontmatter":{"title":"React v16.13.0"},"fields":{"slug":"/blog/2020/02/26/react-v16.13.0.html"}}}]}},"pageContext":{"slug":"/blog/2021/12/17/react-conf-2021-recap.html"}},"staticQueryHashes":[]}