|
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 |
For developers looking to learn useful tips and tricks.
React Router Guide Untangling dialogs in React Router I have been struggling with determining how to best implement dialogs in React Router apps for years: useState to control their open state Forms vs fetchers for data submissions resource routes to form data(<select> options) useEffect for listening for the action data to close the dialog useEffect for listing for a toast message There's a lot to consider. However, tons of these problems go away if you move dialogs into their own dedicated...
React Router Guide Contributing Callsite Revalidation Opt-out to React Router If you’ve used React Router’s data APIs, you’ve probably noticed it revalidates all your loaders after mutations, even when you know that’s completely unnecessary. I got tired of implementing shouldRevalidate functions that ended up feeling really awkward. I found an old proposal from Ryan Florence in GitHub, and decided to take a crack at implementing it myself. A few months and one merged PR later, it shipped in...
React Router Guide How to execute api requests in React Router There's not a lot of opinions on how to structure code that interacts with apis in React Router apps. This is what I've come up with and the post I wish existed before I started using React Router's actions/loaders with my existing api(and if middleware existed back then). Check out the article here. Have a great Tuesday ✌️ Unsubscribe · Preferences