https://codeburst.io/the-curious-case-of-mobx-state-tree-7b4e22d461f
#react #mobx #Article
Join Us :: βοΈ@ReactDevπ
#react #mobx #Article
Join Us :: βοΈ@ReactDevπ
Medium
The Curious Case of Mobx State Tree
Many words, talks and articles have been dedicated to the question βshould I be using Redux or MobX?β Even React books tend to discuss bothβ¦
#DailyTips π‘
If you're a SSR fan, try out Next.js β‘
Next.js is a JavaScript framework for building server-rendered web application built on top of React, Webpack, and Babel.
https://nextjs.org
#react #library #ssr
Join Us :: βοΈ@ReactDevπ
If you're a SSR fan, try out Next.js β‘
Next.js is a JavaScript framework for building server-rendered web application built on top of React, Webpack, and Babel.
https://nextjs.org
#react #library #ssr
Join Us :: βοΈ@ReactDevπ
nextjs.org
Next.js by Vercel - The React Framework
Production grade React applications that scale. The world's leading companies use Next.js by Vercel to build static and dynamic websites and web applications.
React 360 replaces React VR for streamlined development focus
Facebook Code
https://code.facebook.com/posts/572676549773149/react-360-replaces-react-vr-for-streamlined-development-focus/
#update #article #react
Join Us :: βοΈ@ReactDevπ
Facebook Code
https://code.facebook.com/posts/572676549773149/react-360-replaces-react-vr-for-streamlined-development-focus/
#update #article #react
Join Us :: βοΈ@ReactDevπ
Facebook Code
React 360 replaces React VR for streamlined development focus
React VR is getting a series of improvements, including Pixel Perfect 2D, improved media support, and better playback performance. It's also being renamed React 360 to better reflect how most developers use the framework.
#update β¨
β React v16.4.0: Pointer Events β¬
The latest minor release adds support for an oft-requested feature: pointer events!
https://reactjs.org/blog/2018/05/23/react-v-16-4.html
#react #blog
Join Us :: βοΈ@ReactDevπ
β React v16.4.0: Pointer Events β¬
The latest minor release adds support for an oft-requested feature: pointer events!
https://reactjs.org/blog/2018/05/23/react-v-16-4.html
#react #blog
Join Us :: βοΈ@ReactDevπ
legacy.reactjs.org
React v16.4.0: Pointer Events β React Blog
This blog site has been archived. Go to react.dev/blog to see the recent posts. The latest minor release adds support for an oft-requested feature: pointer events! It also includes a bugfix for . Check out the full changelog below. Pointer Events The followingβ¦
Time for a Comparison ππ»
React Native vs Flutter - Which to Learn? π€
#comparison #react_native #mobile
Join Us :: βοΈ@ReactDevπ
React Native vs Flutter - Which to Learn? π€
#comparison #react_native #mobile
Join Us :: βοΈ@ReactDevπ
101 React Tips & Tricks For Beginners To Experts β¨
π https://bit.ly/4cl3SE4
#react #frontend
@ReactDev π
π https://bit.ly/4cl3SE4
#react #frontend
@ReactDev π
DEV Community
101 React Tips & Tricks For Beginners To Experts β¨
I have been working professionally with React for the past +5 years. In this article, I share the...
How Does The React Compiler Work? βοΈ π€
π https://bit.ly/4crdTzo
#react #frontend
@ReactDev π
π https://bit.ly/4crdTzo
#react #frontend
@ReactDev π
yongseok.me
React Compiler, How Does It Work? [1] - Entry Point through Babel Plugin | μ₯μ©μ λΈλ‘κ·Έ
We aim to deeply explore the React Compiler. Let's start by examining the compiler's entry point through the Babel plugin.
React SPA Lazy Loading Pitfalls βοΈ
You should be lazy loading some of your routes. And if you are, you're probably messing up the data-fetching because it's an easy mistake to make.
π https://bit.ly/3TMjud0
#react #frontend
@ReactDev π
You should be lazy loading some of your routes. And if you are, you're probably messing up the data-fetching because it's an easy mistake to make.
π https://bit.ly/3TMjud0
#react #frontend
@ReactDev π
ReactTraining.com
SPA Lazy Loading Pitfalls
React Corporate Workshops, Training, and Consulting
Using callbacks to achieve better component decoupling in React βοΈ
π https://bit.ly/3TL3EzF
#react #frontend
@ReactDev π
π https://bit.ly/3TL3EzF
#react #frontend
@ReactDev π
darios.blog
Using callbacks to achieve better component decoupling in React
Decouple React components effectively by passing functions the right way, creating more testable and maintainable code.
There are hundreds of custom React hooks to access the local storage out there. But I was tempted to create my own using
This was my first attempt.
Everything seemed to work at first. When I called
After few hours of debugging, I finally reached out to my sometimes-genius-sometimes-idiot companion, the gpt-4o which I am using via Supermaven. It immediately pointed out the problem with the code. At first, I didn't believe its explanation so I asked for the proof by giving me the documentation link. By the way, you should not blindly trust what LLM says. Always verify! Anyway, it gave me the link and once again I learned something new thanks to AI.
So the problem is that the "storage" events are only fired when local storage is changed by a different document, not the document where the change originated. It's properly documented in the MDN docs but I didn't know it. So when I save the value in the local storage from the
Equipped with this knowledge, I was able to fix the code by adding a custom event listener:
This custom hook basically does two things:
1. listens to the storage event and the custom event local-storage-change.
2. sends a custom event local-storage-change after storing the value in the local storage.
I still add the official storage event listener because I want the component to still re-redner when the local storage is changed by another document.
Source: https://bit.ly/4eF3QbX
#react #hooks
@ReactDev π
useSyncExternalStore
since I figured it's the proper hooks for this kind of use case. Now I'm sure there are already a package that does exactly what I want, but I wanted to create it by myself, for the sake of learning.This was my first attempt.
const useLocalStorage = (
key: string,
initialValue: string
) => {
const data = useSyncExternalStore(
(onChange) => {
window.addEventListener("storage", onChange);
return () => {
window.removeEventListener("storage", onChange);
};
},
() => {
const data = localStorage.getItem(key);
return data || initialValue;
},
() => initialValue
);
const setData = useCallback(
(value: string) => {
localStorage.setItem(key, value);
},
[key]
);
return [data, setData] as const;
};
Everything seemed to work at first. When I called
setData
function, the value was persisted in the local storage. But then I noticed that the data value was not updated which didn't re-render the component that used the hook in result. The weird thing was that when I directly modified the value in the local storage, the data value was updated and the component re-rendered. That caused me to think that the change subscription of useSyncExternalStore
wasn indeed working.After few hours of debugging, I finally reached out to my sometimes-genius-sometimes-idiot companion, the gpt-4o which I am using via Supermaven. It immediately pointed out the problem with the code. At first, I didn't believe its explanation so I asked for the proof by giving me the documentation link. By the way, you should not blindly trust what LLM says. Always verify! Anyway, it gave me the link and once again I learned something new thanks to AI.
So the problem is that the "storage" events are only fired when local storage is changed by a different document, not the document where the change originated. It's properly documented in the MDN docs but I didn't know it. So when I save the value in the local storage from the
setData
function, the event is not fired hence the useSyncExternalStore
doesn't return the updated value.Equipped with this knowledge, I was able to fix the code by adding a custom event listener:
const useLocalStorage = (key: string, initialValue?: string | null) => {
const data = useSyncExternalStore(
(onChange) => {
const onStorageEvent = (e: Event) => {
const customEvent = e as CustomEvent;
if (customEvent.detail.key === key) {
onChange();
}
};
window.addEventListener("storage", onChange);
window.addEventListener(
"local-storage-change",
onStorageEvent as EventListener
);
return () => {
window.removeEventListener("storage", onChange);
window.removeEventListener(
"local-storage-change",
onStorageEvent as EventListener
);
};
},
() => {
const data = localStorage.getItem(key);
return data || initialValue;
},
() => initialValue
);
const setData = useCallback(
(value: string) => {
localStorage.setItem(key, value);
window.dispatchEvent(
new CustomEvent("local-storage-change", { detail: { key } })
);
},
[key]
);
return [data, setData] as const;
};
This custom hook basically does two things:
1. listens to the storage event and the custom event local-storage-change.
2. sends a custom event local-storage-change after storing the value in the local storage.
I still add the official storage event listener because I want the component to still re-redner when the local storage is changed by another document.
Source: https://bit.ly/4eF3QbX
#react #hooks
@ReactDev π
Nico's Blog
SSR-friendly Custom React Hook for Local Storage Read and Write
I learned something new about window's storage event!
What are React Server Components? π€βοΈ
Web Dev Simplified
https://youtu.be/rGPpQdbDbwo?feature=shared
#react #frontend
@ReactDev π
Web Dev Simplified
https://youtu.be/rGPpQdbDbwo?feature=shared
#react #frontend
@ReactDev π
YouTube
React Server Components Change Everything
Full Next.js Course: https://reactsimplified.com/?utm_source=youtube&utm_medium=video-description&utm_term=video-id-rGPpQdbDbwo#next-js-course
Server vs Client Components Article: https://blog.webdevsimplified.com/2023-11/react-server-components/?utm_souβ¦
Server vs Client Components Article: https://blog.webdevsimplified.com/2023-11/react-server-components/?utm_souβ¦
React server components from scratch!
https://youtu.be/MaebEqhZR84?feature=shared
#react #frontend
@ReactDev π
https://youtu.be/MaebEqhZR84?feature=shared
#react #frontend
@ReactDev π
YouTube
React server components from scratch!
Repo: https://github.com/bholmesdev/simple-rsc
Let's build a node server, stream an RSC to your browser, and handle client component bundling!
#javascript #programming #reactjs #tutorial
Let's build a node server, stream an RSC to your browser, and handle client component bundling!
#javascript #programming #reactjs #tutorial
All 17 React Best Practices βοΈβ‘οΈ
π https://youtu.be/5r25Y9Vg2P4?feature=shared
#react #frontend
@ReactDev π
π https://youtu.be/5r25Y9Vg2P4?feature=shared
#react #frontend
@ReactDev π
YouTube
All 17 React Best Practices (IMPORTANT!)
π Check out Semaphor: https://semaphor.cloud (paid sponsorship). Disclaimer: this is a sponsored video (paid). It's your responsibility to evaluate safety, accuracy and other relevant parts of the reviewed product.
π NEW React & Next.js Course: https://bβ¦
π NEW React & Next.js Course: https://bβ¦
The True Nature of
π https://bit.ly/4hfQTXH
#react #frontend
@ReactDev π
useActionState
in React βοΈπ https://bit.ly/4hfQTXH
#react #frontend
@ReactDev π
Nikhil S - Blog
The True Nature of useActionState
Unlocking powerful async control and state synchronization for smooth UI transitions
Want to see how the same web app component looks across different frontend frameworks? Check out Component Party an amazing documentation website built for developers!
https://component-party.dev/
#react #frontend
@ReactDev π
https://component-party.dev/
#react #frontend
@ReactDev π
component-party.dev
Component Party
Web component JS frameworks overview by their syntax and features: Svelte 5, React, Vue 3, Angular Renaissance, Angular, Lit, Ember Octane, Solid.js, Svelte 4, Vue 2, Alpine, Ember Polaris, Mithril, Aurelia 2, Qwik, Marko, Aurelia 1
React Interview Questions βοΈ
https://github.com/sudheerj/reactjs-interview-questions
#guides #react
@ReactDev π
https://github.com/sudheerj/reactjs-interview-questions
#guides #react
@ReactDev π
GitHub
GitHub - sudheerj/reactjs-interview-questions: List of top 500 ReactJS Interview Questions & Answers....Coding exercise questionsβ¦
List of top 500 ReactJS Interview Questions & Answers....Coding exercise questions are coming soon!! - sudheerj/reactjs-interview-questions