profile

ProgrammingAreHard

For developers looking to learn useful tips and tricks.

Debounce Requests in React Router v7
Featured Post

Debounce Requests in React Router v7

React Router Tip Debounce Requests in React Router v7 Have you ever implemented a search input filter for table or grid of data in your app that needs to initiate fetching new, filtered, data? If you want to initiate the requests as the user changes the filter value without having to manually click a submit button you likely want to debounce those requests. Do you use a debounce hook and resort to useEffect to kick of requests?? No! There's a much easier way that doesn't involve adding a...

Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm super jazzed about what I have for you today! One of the inherent benefits of Single Page Apps(SPAs) I took for granted was the logging that comes out of the box via the Network tab in the console. Every api request happens in the browser and you can easily inspect those which is super handy. Once you move to something like Remix/React Router 7, you become painfully aware that you've lost access to that...

Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. Sometimes I have ideas I want to test out in my Remix / React Router apps. But.... I don't want the overhead of doing it in my actual apps or, on the opposite end of the spectrum, want to start from a blank slate. I found the address book tutorial and thought that surely the end result was published somewhere. Not the case. So I went ahead and bit the bullet by going through it and pushing the end result to a...

Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm writing to let you know I've just published a new post about simple trick that seems magical if you don't know how it's working behind the scenes: pasting into multiple form fields at once. Pasting into multiple fields at once. Hope it gives you some idea. Have a stellar Wednesday. ✌️ David

Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm writing to let you know I've just published a new post about avoiding `navigate(-1)`, or navigating back in the history stack. `navigate(-1)` is really easy to use but comes with some wonky behavior. You'll learn how to properly do "back" links in your application by checking out my latest post. Maybe don't navigate(-1) in Remix/React Router Hope you find it useful and have an awesome Tuesday. ✌️ David

Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm writing to let you know I've just published a new post about using my attempt at launching a Shopify app. I journeyed through the many sets of Shopify docs, implemented it in Remix, created a listing page, and got it all shut down by a reviewer. You can read it about it here: Failure to Launch (A Cautionary Shopify App Tale) Hope it's enlightening and that you have a productive Tuesday. ✌️ David

Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm writing to let you know I've just published a new post about using generating Open Graph images in Remix(the preview images that show up when you past links into social media sites). Vercel has published a pretty cool package for this and I was pleasantly surprised to find that it works just fine in Remix! Check out with the link below. See how I tackled the image generation, and some problems that came up,...

Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm writing to let you know I've just published a new post about using Telegram for push notifications. I've never understood why I needed yet another chat application but I found Telegram to be really useful for alerting me of events happening in my application. Check out the article. I bet it's easier than you might be thinking it's going to be. Telegram for Developers Hope it's useful and that you have a...