
Lifting State up in React
Lifting state up in React explained clearly, including shared state, single sources of truth, child callbacks, and when moving state higher helps.
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 thirty‑three articles collected together for you below.

Lifting state up in React explained clearly, including shared state, single sources of truth, child callbacks, and when moving state higher helps.

Five habits of a good web developer, covering clean code, performance, testing, collaboration, curiosity, standards, and communication beyond code.

How to read JavaScript errors and stack traces in the browser, including common error types, line numbers, call stacks, and a practical debugging workflow.

Pass by value vs. reference in JavaScript explained clearly, including why objects seem shared, how reassignment differs from mutation and common beginner bugs.

Hiring a web developer in Brighton or London ensures better communication, tailored solutions for your market, prompt support, and boosts the local economy.

data‑* Attributes and dataset in JavaScriptUse data attributes and dataset in JavaScript to connect HTML and behaviour cleanly, handle camelCase mapping, event delegation, and string values.

classList in JavaScript: add(), remove(), toggle(), and contains()Use classList in JavaScript for add(), remove(), toggle(), and contains(), with cleaner DOM state updates, validation examples, and className cautions.

DOMContentLoaded vs. load in JavaScriptCompare DOMContentLoaded and load in JavaScript, including parsing, asset loading, script timing, selector failures, and when each event is useful.

querySelector Returns null in JavaScriptDebug querySelector returning null in JavaScript by checking selector syntax, DOM timing, missing elements, search scope, and querySelectorAll differences.