
The React Context API: When to Use It and When Not to
The React Context API explained with Provider and Consumer examples, prop drilling trade‑offs, shared app state, and when context is not the right answer.
Articles
This is a relatively generic and broad category where I attempt to offer guidance or instruction on more‑or‑less anything related to front‑end and web development.
Below you will find a subset of articles from my blog specifically about Guides. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are three hundred forty‑nine articles collected together for you below.

The React Context API explained with Provider and Consumer examples, prop drilling trade‑offs, shared app state, and when context is not the right answer.

Merging objects in JavaScript is straightforward once you know the tools. This guide covers Object.assign(), spread syntax, and overwrite behaviour.

Event bubbling and capturing in JavaScript explained through propagation phases, event delegation, target/currentTarget, stopPropagation(), and handler order.

JavaScript frameworks streamline development with reusable components, state management, and optimised rendering. Here, I compare React, Vue.js, and Angular.

The Fetch API for beginners, including GET requests, POST requests, JSON handling, `response.ok`, and why failed fetches need explicit error checks.

Tagged template literals let you intercept and reshape template literal output. This guide explains the syntax and why the feature can be useful.

Escape and unescape special characters in JavaScript for strings, HTML, regular expressions, safe output, parsing, and practical data handling safely.

Integrating CMSes with HTML, CSS, and JavaScript enables dynamic, flexible content management. Here, I explore best practices, performance tips, and SEO.

React error boundaries explained with fallback UI, componentDidCatch(), getDerivedStateFromError(), logging, placement strategy, and what they cannot catch.

transformCSS transforms enable us to manipulate elements with operations like rotate, scale, and translate. Here, I discuss how to use and animate them effectively.

Object.keys(), Object.values(), and Object.entries() ExplainedObject.keys(), Object.values(), and Object.entries() explained for JavaScript objects, including iteration, snapshots, validation, and helper choice.

:before vs. ::before)CSS pseudo‑elements can use one or two colons. This guide explains `:before`, `::before`, modern syntax, compatibility, and when each form matters.

box‑sizing: Controlling the Element Box ModelUnderstand CSS box‑sizing and the box model, including content‑box, border‑box, width calculations, borders, padding, and layout surprises in real UI.

File‑system routing in Next.js explained clearly, including the `pages` directory, nested routes, index files, and why routing feels simpler than custom setups.

JavaScript hoisting moves declarations to the top of their scope. Here, I explore its impact on variables, functions, and best practices for avoiding pitfalls.

Closures let JavaScript functions retain access to parent scope variables. Here, I explore closures, scope, and practical uses for cleaner, more efficient code.

Static methods vs. instance methods in JavaScript classes explained clearly, including when to use each, common mistakes, and how class APIs stay readable.

:hover Pseudo‑Class in CSSThe :hover pseudo‑class seems simple until touchscreens and accessibility get involved. This guide covers how it behaves and where it falls short.