بنقرة واحدة
vani-keyed-lists
Build scalable lists with keyed rows and per-item updates
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Build scalable lists with keyed rows and per-item updates
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Create a tiny global store with explicit subscriptions
Updates Vani SPA app UI in src/spa-app, especially the landing page/homepage and landing examples. Use when the user mentions Vani SPA app, src/spa-app, landing page/homepage, or landing examples.
Mount Vani components inside existing apps or DOM islands
Schedule explicit updates with microtasks and transitions
Create a minimal Vani SPA root with explicit updates
Implement SSR, hydration, and selective activation with Vani
| name | vani-keyed-lists |
| description | Build scalable lists with keyed rows and per-item updates |
Instructions for rendering lists where each row updates independently.
Use this when a list needs item-level updates without re-rendering the whole list.
Map or array with stable ids.key on each row to preserve identity across reorders.ComponentRef per id and call ref.current?.update() (or
ref.current?.update({ onlyAttributes: true }) for class/attr changes).text() / attr() for fine-grained row updates.Item)List)Map (defaults to true)Example 1 usage pattern:
Implement a todo list with keyed rows and per-row updates on toggle.
Example 2 usage pattern:
Reorder items by id while preserving row identity with key.
Example output:
Created: src/list.ts
Notes: Row updates call ref.current?.update() or use signals.
name: vani-keyed-lists description: Build scalable Vani lists with keyed rows and per-item updates. argument-hint: "[list feature]"
Use this skill when building lists or collections that require efficient updates.
Follow these steps:
Row component and pass key, ref, and item accessors.ref.current?.update() or signals with text() / attr().ComponentRef or signals for per-row updates.update({ onlyAttributes: true }) for class/attr-only changes.