---
title: "Valencia Miyeon Jang (@valencia23) | Hashnode"
description: "Frontend dev, sharing my journey. Read the latest articles by Valencia Miyeon Jang on Hashnode."
url: "https://hashnode.com/@valencia23"
---

@valencia23

# Valencia Miyeon Jang

@valencia23 · Cambridge, United Kingdom · Joined February 2025

Frontend dev, sharing my journey

[Website](https://valencia-m-rho.vercel.app/)

### [React | useTransition vs Suspense – same vibes, different jobs](https://val-codeops.hashnode.dev/react-usetransition-vs-suspense-same-vibes-different-jobs?utm_source=hashnode&utm_medium=feed)

At first glance, useTransition and Suspense both seem like they're about handling delays in React. But they actually serve quite different purposes. Here’s how I finally wrapped my head around them. Simple examples ✅ useTransition – defer expensive...

1 min read · [val-codeops.hashnode.dev](https://val-codeops.hashnode.dev/react-usetransition-vs-suspense-same-vibes-different-jobs?utm_source=hashnode&utm_medium=feed)

[Jul 21, 2025](https://hashnode.com/posts/react-usetransition-vs-suspense-same-vibes-different-jobs/687e60ebedfdc8d48f5c1263)

### [React | React.memo, useMemo, useCallback – what’s the difference?](https://val-codeops.hashnode.dev/react-reactmemo-usememo-usecallback-whats-the-difference?utm_source=hashnode&utm_medium=feed)

I always mix these up, so I finally sat down to write a quick comparison. They’re all about React performance optimisation, but they solve slightly different problems. 1. React.memo – don’t rerender this if props are the same tsx const Child = React....

2 min read · [val-codeops.hashnode.dev](https://val-codeops.hashnode.dev/react-reactmemo-usememo-usecallback-whats-the-difference?utm_source=hashnode&utm_medium=feed)

[Jul 21, 2025](https://hashnode.com/posts/react-reactmemo-usememo-usecallback-whats-the-difference/687e5e711afa58cdc103bdbe)

### [React | useReducer: When useState Starts Getting Messy](https://val-codeops.hashnode.dev/react-usereducer-when-usestate-starts-getting-messy?utm_source=hashnode&utm_medium=feed)

I usually reach for useState by default, but when the state logic starts feeling a bit tangled—or I’ve got multiple values changing together—I’ve been reaching for useReducer. It’s like a mini state machine right inside your component. ✅ Quick Exampl...

2 min read · [val-codeops.hashnode.dev](https://val-codeops.hashnode.dev/react-usereducer-when-usestate-starts-getting-messy?utm_source=hashnode&utm_medium=feed)

[Jul 20, 2025](https://hashnode.com/posts/react-usereducer-when-usestate-starts-getting-messy/687ce37a40bc1806c8d6141d)

### [React | Trying out React Context API + Custom Hooks for Global State](https://val-codeops.hashnode.dev/react-trying-out-react-context-api-custom-hooks-for-global-state?utm_source=hashnode&utm_medium=feed)

I've been using React’s Context API to simplify how I manage and share state across components—mainly to avoid prop drilling and keep things cleaner. Thought I’d share how I’ve set it up and what’s been working well for me. ✅ Local context setup (jus...

2 min read · [val-codeops.hashnode.dev](https://val-codeops.hashnode.dev/react-trying-out-react-context-api-custom-hooks-for-global-state?utm_source=hashnode&utm_medium=feed)

[Jul 19, 2025](https://hashnode.com/posts/react-trying-out-react-context-api-custom-hooks-for-global-state/687b69641d8f5afc5cc3b3f7)

### [React | When to Use FormData in React](https://val-codeops.hashnode.dev/react-when-to-use-formdata-in-react?utm_source=hashnode&utm_medium=feed)

Quick notes on when to use FormData vs just using React state. ✅ Use FormData when... 1. Uploading files (e.g. images) Files can’t be sent via JSON.stringify()FormData handles multipart/form-data for you const handleSubmit = (e) => { e.preventDefau...

2 min read · [val-codeops.hashnode.dev](https://val-codeops.hashnode.dev/react-when-to-use-formdata-in-react?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/react-when-to-use-formdata-in-react/68752249202d820330ff1271) [Jul 14, 2025](https://hashnode.com/posts/react-when-to-use-formdata-in-react/68752249202d820330ff1271)
