DEV Community

Cover image for How I Built a Form Builder with Next.js 16 and Supabase
builtstack
builtstack

Posted on

How I Built a Form Builder with Next.js 16 and Supabase

Three weeks ago I built a form builder. Not a company — just a tool I needed.

Here are the three bugs that cost me the most time.

Bug #1 — React state closure

Typing in the question editor did nothing. The letters didn't appear.

Cause: I was mapping over state directly instead of using the functional update form.


typescript
// ❌ Broken
setBlocks(blocks.map((b) => b.id === id ? { ...b, label } : b));

// ✅ Correct
setBlocks((prev) => prev.map((b) => b.id === id ? { ...b, label } : b));
Enter fullscreen mode Exit fullscreen mode

Top comments (0)