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>
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:
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 - 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 scripts
If you'd like to migrate them, the React team maintains some awesome codemods:
>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.
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:
If you're seeing some other issue problem related to RTK, please go ahead and file an issue.
React.useSelectedContext() hook - Implement naive version of context selectors (by acdlite)
4 projects | reddit.com/r/reactjs | 23 Jan 2021
Why React Context is Not a "State Management" Tool (and Why It Doesn't Replace Redux)
Todo manager App with Appwrite backend
4 projects | dev.to | 10 May 2022
Importing CSS files in Isomorphic React Components
1 project | reddit.com/r/codehunter | 15 Mar 2022
Codepen Clone Using reactjs and azure static app service
4 projects | dev.to | 4 Mar 2022