
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>ChunHao&#39;s Blog - Coding Journey</title>
      <link>https://blog.chczee.dpdns.org//blog</link>
      <description>Documenting and sharing knowledge, technical insights, and practical experiences in software development for mutual learning and growth.</description>
      <language>en-us</language>
      <managingEditor>chchen.zee@gmail.com (Chun Hao)</managingEditor>
      <webMaster>chchen.zee@gmail.com (Chun Hao)</webMaster>
      <lastBuildDate>Wed, 26 Nov 2025 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://blog.chczee.dpdns.org//feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-prop-drilling</guid>
    <title>Day 16: What is Prop Drilling? Why is it a Problem?</title>
    <link>https://blog.chczee.dpdns.org//blog/react-prop-drilling</link>
    <description>Learn what prop drilling is in React, why passing props through multiple component layers causes maintenance issues, and how to solve it using Context API or state management tools.</description>
    <pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-state-management-comparison</guid>
    <title>Day 15: Context API vs Local State vs Zustand</title>
    <link>https://blog.chczee.dpdns.org//blog/react-state-management-comparison</link>
    <description>Understanding when to use local state, Context API, or Zustand for state management in React applications. Learn the scope, best practices, and practical examples for each approach.</description>
    <pubDate>Sun, 23 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-avoiding-stale-closures</guid>
    <title>Day 14: Avoiding Stale Closures in React</title>
    <link>https://blog.chczee.dpdns.org//blog/react-avoiding-stale-closures</link>
    <description>Learn how to fix stale closure issues in React using three key techniques: dependency arrays, functional updaters (setState(prev =&gt; ...)), and useRef for latest values. Includes proper cleanup patterns for async operations to prevent memory leaks and race conditions.</description>
    <pubDate>Sun, 16 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-closure-capture-values</guid>
    <title>Day 13: Capturing Values in Render &amp; Closure Behavior</title>
    <link>https://blog.chczee.dpdns.org//blog/react-closure-capture-values</link>
    <description>Understand how React callbacks capture values from the moment they are created, causing stale state issues in setInterval, useEffect, and event handlers. Learn to fix this using functional updaters and refs to always access fresh values.</description>
    <pubDate>Sun, 16 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-useState-vs-useReducer</guid>
    <title>Day 12: useState vs useReducer — When to Choose Which?</title>
    <link>https://blog.chczee.dpdns.org//blog/react-useState-vs-useReducer</link>
    <description>Learn the key differences between useState and useReducer in React. Understand when to use simple state management versus structured reducers for complex state logic, with practical examples including counters and form management.</description>
    <pubDate>Sat, 15 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-useEffect-vs-useLayoutEffect</guid>
    <title>Day 11: useEffect vs useLayoutEffect — Timing and Use Cases</title>
    <link>https://blog.chczee.dpdns.org//blog/react-useEffect-vs-useLayoutEffect</link>
    <description>Understanding the critical timing difference between useEffect and useLayoutEffect - when to use each hook to prevent UI flicker and optimize performance in React applications.</description>
    <pubDate>Thu, 13 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-custom-hooks</guid>
    <title>Day 8 : What Problems Do Custom Hooks Solve?</title>
    <link>https://blog.chczee.dpdns.org//blog/react-custom-hooks</link>
    <description>Exploring how Custom Hooks revolutionized React by solving logic reuse challenges that plagued Class components, HOCs, and Render Props - making code cleaner, more composable, and easier to maintain.</description>
    <pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-useEffect</guid>
    <title>Day 10 — What is useEffect?</title>
    <link>https://blog.chczee.dpdns.org//blog/react-useEffect</link>
    <description>Understanding useEffect - the essential hook for managing side effects in React function components, from data fetching to event listeners, with proper cleanup and dependency management.</description>
    <pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-hooks-top-level</guid>
    <title>Day 9: Why must Hooks be called at the top level?</title>
    <link>https://blog.chczee.dpdns.org//blog/react-hooks-top-level</link>
    
    <pubDate>Sat, 08 Nov 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/Why-use-immutable-syntax-when-updating-state</guid>
    <title>Day 7 : Why use immutable syntax when updating state?</title>
    <link>https://blog.chczee.dpdns.org//blog/Why-use-immutable-syntax-when-updating-state</link>
    <description>Learn why React requires immutable state updates and how reference equality checking works. Understand the difference between primitive and reference comparisons, common pitfalls with object mutations, and best practices for creating new references to trigger re-renders correctly.</description>
    <pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-key-prop</guid>
    <title>Day 6 : Why is the key prop important in lists?</title>
    <link>https://blog.chczee.dpdns.org//blog/react-key-prop</link>
    <description>Understand why React keys matter in list rendering. Learn how using array indexes as keys causes UI bugs like jumping input values, and why stable unique IDs are essential for proper reconciliation. Discover the difference between correct and incorrect key usage with practical examples.</description>
    <pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/react-reconciliation</guid>
    <title>Day 5: What Is React Reconciliation?</title>
    <link>https://blog.chczee.dpdns.org//blog/react-reconciliation</link>
    <description>Learn how React Reconciliation works - the smart update process that compares Virtual DOM trees using three key rules: different element types get replaced, same types get updated, and lists use keys for tracking. This efficient diffing algorithm reduces O(n³) complexity to O(n), updating only what actually changed in the real DOM.</description>
    <pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/virtual-dom</guid>
    <title>Day 4: What problem does the Virtual DOM solve?</title>
    <link>https://blog.chczee.dpdns.org//blog/virtual-dom</link>
    <description>Learn why React uses a Virtual DOM instead of direct DOM manipulation. Discover how this JavaScript object tree in memory optimizes performance by batching updates, reducing reflows and repaints, while providing a better developer experience through declarative UI patterns.</description>
    <pubDate>Mon, 27 Oct 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/the-lifecycle-of-a-react-component</guid>
    <title>Day 3: The Lifecycle of a React Component</title>
    <link>https://blog.chczee.dpdns.org//blog/the-lifecycle-of-a-react-component</link>
    <description>Learn about React component lifecycle - how components mount, update, and unmount - and understand the differences between class component lifecycle methods and function component Hooks.</description>
    <pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/What-is-JSX</guid>
    <title>Day 2: What is JSX?</title>
    <link>https://blog.chczee.dpdns.org//blog/What-is-JSX</link>
    <description>Learn what JSX is, how it compiles from React 16 to React 17+, and master essential JSX syntax rules for writing React components.</description>
    <pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://blog.chczee.dpdns.org//blog/what-Is-a-pure-function</guid>
    <title>Day 1: What Is a Pure Function? Why Should React Components Stay Pure?</title>
    <link>https://blog.chczee.dpdns.org//blog/what-Is-a-pure-function</link>
    <description>Understanding pure functions and why React components should stay pure. Learn the key rules and benefits of writing pure components in React.</description>
    <pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate>
    <author>chchen.zee@gmail.com (Chun Hao)</author>
    <category>react</category>
  </item>

    </channel>
  </rss>
