Onur Önder
onderonur.bsky.social
Onur Önder
@onderonur.bsky.social
💡 Let's say you need to call a callback prop in a child component when the state of that child changes. The "latest ref pattern" is a useful technique for this case.
October 28, 2025 at 1:28 PM
👉 Here is a CSS tip in case you need to hide scrollbars on the <body> when a modal is open.

✅ Selecting a parent element based on its children was not possible with pure CSS. But with the :has() pseudo-class, you can select elements based on their children or siblings easily.
October 26, 2025 at 9:48 PM
[Reposting this because the first one had a typo in the video 🙏]
⚛️ React 19.2 has some cool new features, and <Activity> is definitely one of the most interesting ones!
October 24, 2025 at 6:29 PM
🚀 I published "find-old-todos", a CLI tool to search for TODO comments older than a specified day threshold.
May 5, 2025 at 5:31 PM
⭐️ react-infinite-scroll-hook and react-intersection-observer-hook are my most popular (100k downloads weekly) packages.

🚀 And I finally got the time to make them compatible with React v19 by using cleanup functions for refs! With some other minor improvements as well.
May 3, 2025 at 12:58 PM
🛡️ Implementing authentication from scratch?

👉 You’ve probably heard the phrase "never roll your own auth". Not a rule, but a reminder to highlight how easy it's to mess things up with auth. Actually, implementing it isn’t that hard, but getting it right can be tricky!
April 20, 2025 at 7:45 PM
👉 One of the easiest things you can do to make your React components more maintainable is to keep related logic close together and avoid mixing unrelated things.
April 18, 2025 at 9:13 PM
🚨 It's been a while since this CVE in Next.js was announced and resolved, but I thought it'd be a good idea to share it in case you missed it.

👀 In short, the impact is:
"It is possible to bypass authorization checks within a Next.js application if the authorization check occurs in middleware."
April 6, 2025 at 5:17 PM
⭐️ Major news dropped this week! TypeScript is being rewritten in Go for a 10× native performance boost! This means we’ll have a much better DX, especially in larger codebases, soon 🎉
March 15, 2025 at 4:16 PM
👀 Next.js 15.2 is released, and it comes with some very important improvements!

🪄 View transitions, which are becoming highly popular, are now supported experimentally.

⭐️ Streaming metadata is now supported, so page renders will no longer be blocked for non-HTML-only bots.
February 27, 2025 at 5:14 PM
👋 CRA is sunsetted! If you missed it, Create React App, the easiest way to create a React SPA, was recently deprecated.
February 22, 2025 at 2:35 PM
🤔 @turbo.build is used by many JavaScript/TypeScript projects. But there are many languages used for APIs, tooling, and more. Wouldn't it be nice to have a monorepo that includes all the projects related to a specific product?
February 13, 2025 at 7:43 PM
👉 Here is a step-by-step example to optimize the performance of rendering a page and prevent waterfalls in Next.js!
February 9, 2025 at 10:29 PM
🤔 Sometimes, it can be hard to grasp a numeric literal at first glance in JavaScript or TypeScript code. For example, "Is it a hundred thousand, a million, or a billion?"
January 29, 2025 at 7:04 PM
👉 In case you missed it, Tailwind CSS v4 is released and it has some serious changes. A new engine for better performance, using modern CSS features under the hood, automatic content detection, CSS based configs instead of JS based ones and lots more!
January 26, 2025 at 2:16 AM
🤯 Next.js/React server actions are wild. If a server action returns the same object it received from the client, it preserves the same object reference. Yep, the client passes an object to the server, and the server can return that exact same one.
January 20, 2025 at 9:26 PM
❓ Did you know you can use package.json scripts to run various types of commands and not just Node.js related ones?
January 4, 2025 at 4:20 PM
👀 Recently, I came across a use case for startTransition shared by Ryan Florence. You may know him from React Router or Remix. The idea was to avoid relying on hooks like useEffect or useRef and instead use React's new-ish features.
December 18, 2024 at 4:26 PM
Reposted by Onur Önder
TSConfigs aren't that hard.

They're basically just 2 if/else statements in a trenchcoat.

More info:

www.totaltypescript.com/tsconfig-che...
December 17, 2024 at 8:50 AM
🎉 I created next-shopper over 3 years ago. It started with Next.js 11. It’s not my oldest Next.js project, it’s definitely one of my favorites. Over the years, I’ve continuously migrated it to the latest versions and used new patterns. And now, it’s migrated to Next.js 15!
December 15, 2024 at 8:06 PM
⚛️ Don't use useMemo or useCallback for one-time initializations.
December 12, 2024 at 6:38 PM
⚛️ React 19 brings lots of new features and improvements!

👀 One of my favorites is the new cleanup functions for ref callbacks. These simplify cleanup logic when a node unmounts, which is super helpful for use cases like IntersectionObserver, ResizeObserver, etc.
December 10, 2024 at 5:16 PM
Reposted by Onur Önder
React v19 is now stable!

react.dev/blog/2024/12...
React v19 – React
The library for web and native user interfaces
react.dev
December 5, 2024 at 7:05 PM
🎥 If you're displaying YouTube videos in your Next.js app, it might seem like the right approach to just use an <iframe> and call it a day.

🤔 But what if there's a faster way to load your video component?
November 23, 2024 at 1:15 PM
TIL you can use emojis for your package.json scripts 😄
November 21, 2024 at 4:06 PM