56,966 blogs · [ { "id": "01a0df80-bceb-7022-984a-7e69b7e8e4d9", "title": "Use React to preload a video", "url": "https://www.epicreact.dev/use-react-activity-to-preload-a-video-y2lmw", "published_at": "2025-11-25T09:14:05+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b89a67c8", "title": "React Router's take on React Server Components", "url": "https://www.epicreact.dev/react-routers-take-on-react-server-components-4bj7q", "published_at": "2025-11-25T09:13:53+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b73d798f", "title": "Use React to Smoothly Transition Images and Titles", "url": "https://www.epicreact.dev/use-react-view-transition-to-smoothly-transition-images-and-titles-lu6ks", "published_at": "2025-11-25T09:13:40+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b9085a18", "title": "How a “Useless” Tip Saved Ben's Sanity in Production", "url": "https://www.epicreact.dev/aha-key-moment", "published_at": "2025-07-30T00:22:46+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b954e9aa", "title": "React Server Components: How We Got Here", "url": "https://www.epicreact.dev/react-server-components-how-we-got-here-zcuxn", "published_at": "2025-07-21T22:03:22+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69ba1ff707", "title": "How React Suspense Works Under the Hood: Throwing Promises and Declarative Async UI", "url": "https://www.epicreact.dev/how-react-suspense-works-under-the-hood-throwing-promises-and-declarative-async-ui-plbrh", "published_at": "2025-06-09T22:54:14+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bac80ea1", "title": "useSyncExternalStore: Demystified for Practical React Development", "url": "https://www.epicreact.dev/use-sync-external-store-demystified-for-practical-react-development-w5ac0", "published_at": "2025-05-28T19:14:08+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69baf83a05", "title": "Why React Error Boundaries Aren't Just Try/Catch for Components", "url": "https://www.epicreact.dev/why-react-error-boundaries-arent-just-try-catch-for-components-i6e2l", "published_at": "2025-05-27T19:30:24+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bb822afc", "title": "Composing Server and Client Components: The Modern React's Superpower", "url": "https://www.epicreact.dev/composing-server-and-client-components-the-modern-reacts-superpower-08yn9", "published_at": "2025-05-23T04:51:03+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bbc1e797", "title": "Mastering Focus Management in React with `flushSync`", "url": "https://www.epicreact.dev/mastering-focus-management-in-react-with-flush-sync-f5b38", "published_at": "2025-05-20T21:16:34+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bc71d71b", "title": "Preserving and Resetting State in React", "url": "https://www.epicreact.dev/preserving-and-resetting-state-in-react-l2dxl", "published_at": "2025-05-19T03:29:34+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bcf86140", "title": "Just Use React", "url": "https://www.epicreact.dev/just-use-react-dk4e0", "published_at": "2025-05-17T19:40:28+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bd96b742", "title": "Generating Unique IDs for Client-Only Data in React", "url": "https://www.epicreact.dev/generating-unique-ids-for-client-only-data-in-react-c6jjc", "published_at": "2025-05-15T19:03:22+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69be0f9ff1", "title": "Improving React Accessibility with `useId`", "url": "https://www.epicreact.dev/improving-react-accessibility-with-use-id-knljs", "published_at": "2025-05-14T22:43:46+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bed48197", "title": "`useOptimistic` to Make Your App Feel Instant", "url": "https://www.epicreact.dev/use-optimistic-to-make-your-app-feel-instant-zvyuv", "published_at": "2025-05-12T17:19:52+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bf78abaa", "title": "Compound Components: Truly Flexible React APIs", "url": "https://www.epicreact.dev/compound-components-truly-flexible-react-apis-5nu15", "published_at": "2025-05-08T14:19:14+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69bf19e41c", "title": "Control Props: Give Your React Components Superpowers", "url": "https://www.epicreact.dev/control-props-give-your-react-components-superpowers-xitiw", "published_at": "2025-05-08T14:19:03+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69c071083c", "title": "The Big \"Server Waterfall Problem\" with RSCs", "url": "https://www.epicreact.dev/server-waterfall-problem-rscs", "published_at": "2024-10-11T22:11:20+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69ae99ff25", "title": "A deep dive on forms with modern React", "url": "https://www.epicreact.dev/react-forms", "published_at": "2024-08-06T21:49:33+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69aeb6a0c4", "title": "React Server Components: The Future of UI", "url": "https://www.epicreact.dev/react-server-components-the-future-of-ui", "published_at": "2024-07-10T09:28:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69af2d2afd", "title": "Can you modify React Props?", "url": "https://www.epicreact.dev/can-you-modify-react-props", "published_at": "2024-07-09T11:06:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69afa8d218", "title": "What is React?", "url": "https://www.epicreact.dev/what-is-react", "published_at": "2024-07-09T09:26:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69afe4e583", "title": "Improve the Performance of your React Forms", "url": "https://www.epicreact.dev/improve-the-performance-of-your-react-forms", "published_at": "2021-05-26T10:13:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b06d0140", "title": "Why you shouldn't put refs in a dependency array", "url": "https://www.epicreact.dev/why-you-shouldnt-put-refs-in-a-dependency-array", "published_at": "2021-05-19T10:12:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b08d7d7c", "title": "Why React needs a key prop", "url": "https://www.epicreact.dev/why-react-needs-a-key-prop", "published_at": "2021-04-20T10:11:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b0980ec1", "title": "How to type a React form onSubmit handler", "url": "https://www.epicreact.dev/how-to-type-a-react-form-on-submit-handler", "published_at": "2021-04-19T10:11:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b10f9ac5", "title": "The Latest Ref Pattern in React", "url": "https://www.epicreact.dev/the-latest-ref-pattern-in-react", "published_at": "2021-04-15T10:09:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b1414783", "title": "How to Test React.useEffect", "url": "https://www.epicreact.dev/how-to-test-react-use-effect", "published_at": "2020-11-16T10:53:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b15b75a4", "title": "How React Uses Closures to Avoid Bugs", "url": "https://www.epicreact.dev/how-react-uses-closures-to-avoid-bugs", "published_at": "2020-11-13T10:50:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b16f6959", "title": "Importing React Through the Ages", "url": "https://www.epicreact.dev/importing-react-through-the-ages", "published_at": "2020-11-10T10:50:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b215c98d", "title": "Use CSS Variables instead of React Context", "url": "https://www.epicreact.dev/css-variables", "published_at": "2020-10-29T10:49:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b2d54a1b", "title": "Memoization and React", "url": "https://www.epicreact.dev/memoization-and-react", "published_at": "2020-10-29T10:48:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b3a94bce", "title": "Stop Stumbling Around in React Learning Darkness", "url": "https://www.epicreact.dev/stop-stumbling-around-in-react-learning-darkness", "published_at": "2020-09-28T09:47:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b4163718", "title": "One React mistake that's slowing you down", "url": "https://www.epicreact.dev/one-react-mistake-thats-slowing-you-down", "published_at": "2020-09-25T09:46:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b4dc8b62", "title": "Render as you fetch (with and without suspense)", "url": "https://www.epicreact.dev/render-as-you-fetch", "published_at": "2020-09-21T09:45:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b5380e16", "title": "My State Management Mistake", "url": "https://www.epicreact.dev/my-state-management-mistake", "published_at": "2020-09-17T09:44:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b554c0d7", "title": "Requisite React", "url": "https://www.epicreact.dev/requisite-react", "published_at": "2020-09-10T09:43:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b5ea4031", "title": "Avoid soul-crushing components", "url": "https://www.epicreact.dev/soul-crushing-components", "published_at": "2020-09-07T09:39:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b638a59d", "title": "Myths about useEffect", "url": "https://www.epicreact.dev/myths-about-useeffect", "published_at": "2020-09-04T09:46:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b64580ef", "title": "Why you've been bad about Profiling React Apps", "url": "https://www.epicreact.dev/why-youve-been-bad-about-profiling-react-apps", "published_at": "2020-09-04T09:43:00+00:00" }, { "id": "01a0df80-bceb-7022-984a-7e69b6fb3042", "title": "Why I Love React", "url": "https://www.epicreact.dev/why-i-love-react", "published_at": "2020-08-31T09:28:00+00:00" } ] posts Claim your blog
Back to epicreact.dev
Blog · corpus.blog/blogs/epicreact.dev/posts

epicreact.dev

epicreact.dev

2025

2024

2021

2020