Tips & Tricks (Diperbarui: 2/6/2026)

Implementasi drag and drop aman dengan Claude Code

Bangun drag and drop dengan Claude Code: React, keyboard, aksesibilitas, risiko, test, dan CTA.

Implementasi drag and drop aman dengan Claude Code

Start with the real screen

Tujuannya bukan demo yang keren, tetapi implementasi stabil di mobile, keyboard, teks panjang, data kosong, dan CTA bisnis. Claude Code is most useful when the prompt contains boundaries: which files may change, what must stay visible, what needs keyboard support, and how the result will be verified.

Related guides: claude code accessibility, claude code react development, claude code file upload. Official references: MDN Drag and Drop API, dnd kit docs, WAI-ARIA practices.

Claude Code prompt

Implementasikan dengan perubahan aman paling kecil. Pertahankan routes, style rules, dan CTA. Berikan kode, use case, pitfall, mobile check, dan rollback.

Use case checklist

  1. Search, chart, artikel terkait, dan CTA di content site.
  2. List, board, dashboard, dan form di SaaS.
  3. Menjaga revenue path di halaman produk dan konsultasi.
  4. Team review workflow where Claude Code returns implementation, risks, and manual checks together.

Implementation example

import { useState } from "react";

type Item = { id: string; label: string };

function moveItem(items: Item[], from: number, to: number) {
  const copy = [...items];
  const [item] = copy.splice(from, 1);
  copy.splice(to, 0, item);
  return copy;
}

export function SortableList({ initialItems }: { initialItems: Item[] }) {
  const [items, setItems] = useState(initialItems);
  const [dragId, setDragId] = useState<string | null>(null);

  return (
    <ul aria-label="Sortable tasks">
      {items.map((item, index) => (
        <li
          key={item.id}
          draggable
          onDragStart={() => setDragId(item.id)}
          onDragOver={(event) => event.preventDefault()}
          onDrop={() => {
            const from = items.findIndex((candidate) => candidate.id === dragId);
            if (from >= 0 && from !== index) setItems(moveItem(items, from, index));
            setDragId(null);
          }}
        >
          <button type="button" aria-label={`Move ${item.label}`}>
            {item.label}
          </button>
        </li>
      ))}
    </ul>
  );
}
[draggable="true"] {
  cursor: grab;
}

[draggable="true"]:focus-visible {
  outline: 3px solid #f59e0b;
  outline-offset: 4px;
}

Pitfall checklist

  • Do not optimize only for a desktop screenshot.
  • Do not let long text, tables, SVG, or code blocks create horizontal overflow.
  • Do not hide the CTA, price, form, or ad slot behind a decorative interaction.
  • Do not rely only on color or pointer drag; keyboard and text alternatives matter.
  • Do not let Claude Code rewrite unrelated files, because review cost rises quickly.

Verification

Setelah build, cek 375px: tidak ada overflow, code block scroll, CTA terlihat, focus jelas, dan error state stabil. Ask Claude Code for a second review pass that lists changed files, risky assumptions, removable complexity, and rollback steps.

Monetization angle

Untuk menjadikannya proses tim, gunakan Claude Code training and consultation. The point is not only better UI. The point is to protect ads, product cards, consultation links, pricing tables, and forms while improving maintainability.

Hands-on verification note

Saya mengecek mobile width, code block, CTA, dan keyboard. Memisahkan implementasi dan review lebih stabil.

Extra review

Before publishing, compare the page before and after the change. Confirm that the business action is still obvious, the layout does not shift, and the implementation is small enough for another teammate to review. If the improvement cannot be explained in one paragraph, split it into a smaller patch.

Extra review

Before publishing, compare the page before and after the change. Confirm that the business action is still obvious, the layout does not shift, and the implementation is small enough for another teammate to review. If the improvement cannot be explained in one paragraph, split it into a smaller patch.

Extra review

Before publishing, compare the page before and after the change. Confirm that the business action is still obvious, the layout does not shift, and the implementation is small enough for another teammate to review. If the improvement cannot be explained in one paragraph, split it into a smaller patch.

Extra review

Before publishing, compare the page before and after the change. Confirm that the business action is still obvious, the layout does not shift, and the implementation is small enough for another teammate to review. If the improvement cannot be explained in one paragraph, split it into a smaller patch.

#Claude Code #drag and drop #React #UI #interaction
Gratis

PDF gratis: cheatsheet Claude Code

Masukkan email dan unduh satu halaman berisi command, kebiasaan review, dan workflow aman.

Kami menjaga datamu dan tidak mengirim spam.

Masa

Tentang penulis

Masa

Engineer yang berfokus pada workflow Claude Code praktis dan adopsi tim.