React v18.0

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • JetBrains - Developer Ecosystem Survey 2022
  • react-18

    Workgroup for React 18 release.

    Regarding styled-components and many similar CSS-in-JS libraries, I don't think there are any breaking changes currently with React 18, but it does seem like the writing is on the wall that React intends to not support libraries that inject styles into tags, or at least has some specific rules these libraries need to follow to avoid performance problems. See this discussion: <a href="https://github.com/reactwg/react-18/discussions/110" rel="nofollow">https://github.com/reactwg/react-18/discussions/110</a>

  • react-redux

    Official React bindings for Redux

    Awesome! Glad this is finally out, and really looking forward to seeing what features the React team adds in follow-up releases.

    FWIW, React-Redux v8 is in beta right now:

    - https://github.com/reduxjs/react-redux/releases

    I think it's basically ready to go, but I haven't had a chance to really test out the SSR support I added a couple months ago. I'd love to have some help testing that out.

    v7 will _run_ with React 18, but v8 has been specifically reworked to behave correctly when used with React's new "Concurrent Rendering" capabilities. We've also converted React-Redux itself to TS (no more separate types package).

    Ideally, I'd like to release v8 as final in the next week or two.

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • react-codemod

    React codemod scripts

    If you'd like to migrate them, the React team maintains some awesome codemods:

    https://github.com/reactjs/react-codemod

  • React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

    >It's interesting to see how the APIs have changed over time—I'm sure as a result of some tough lessons learned at Facebook.

    Oh yeah definitely. For history nerds, I've included a bunch of old (but relevant) PRs in the full changelog so that you can see the evolution. For example:

    >Add useTransition and useDeferredValue to separate urgent updates from transitions. (#10426, #10715, #15593, #15272, #15578, #15769, #17058, #18796, #19121, #19703, #19719, #19724, #20672, #20976 by @acdlite, @lunaruan, @rickhanlonii, and @sebmarkbage)

    See https://github.com/facebook/react/blob/main/CHANGELOG.md. I also wrote a thread about some of the lessons learned: https://twitter.com/dan_abramov/status/1402927593406582787. Might make a full-fledged recap post at some point.

    >I'm curious if the SuspenseList API is making the cut here or if it's still on the roadmap? I played with it a while back and thought it was very cool, albeit slightly niche perhaps.

    We've postponed it because there were some gaps we need to figure out. But it's likely coming in one of the minor releases.

    >I see lots of power in the idea of suspense as a way to orchestrate various generic async operations, but it feels like they don't want us to build solutions on this abstraction unless we buy into some opinionated framework. I can't really tell my team "let's use remix now lol".

    Hear, hear. The reason we suggest that is that implementing refetching in the data layer is currently too challenging. Relay implemented it, but it is pretty opinionated about other things so it's easier for Relay. Next.js doesn't currently support refetching for getServerSideProps anyway, so it wouldn't be a regression. But for a generic non-framework API, this feature is very important. We're working on a cache mechanism that might solve this, but it's work in progress and it's hard to provide guarantees that it'll ship in the same form as it is now. We just don't have all the answers yet.

  • redux-toolkit

    The official, opinionated, batteries-included toolset for efficient Redux development

    Not specifically. The general problem we were running into is:

    - We recommend inferring `type RootState = ReturnType`

    - That type comes from the slice reducers

    - Thunks need a `State` type passed in so they know what `getState` returns

    - But if you do that _inside_ of `createSlice`, TS can't know that `RootState` type yet, because we haven't constructed the slice reducer yet

    Here was the PR where we tried to come up with something:

    https://github.com/reduxjs/redux-toolkit/pull/637

    If you're seeing some other issue problem related to RTK, please go ahead and file an issue.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts