mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-02-13 12:55:42 +01:00
- Fix syntax errors in skills markdown files (.github/skills, .opencode/skills) - Change typescript to tsx for code blocks with JSX - Replace ellipsis (...) in array examples with valid syntax - Separate CSS from TypeScript into distinct code blocks - Convert JavaScript object examples to valid JSON in docs - Fix enum definitions with proper comma separation
27 lines
566 B
Markdown
27 lines
566 B
Markdown
---
|
|
title: Use Activity Component for Show/Hide
|
|
impact: MEDIUM
|
|
impactDescription: preserves state/DOM
|
|
tags: rendering, activity, visibility, state-preservation
|
|
---
|
|
|
|
## Use Activity Component for Show/Hide
|
|
|
|
Use React's `<Activity>` to preserve state/DOM for expensive components that frequently toggle visibility.
|
|
|
|
**Usage:**
|
|
|
|
```tsx
|
|
import { Activity } from "react";
|
|
|
|
function Dropdown({ isOpen }: Props) {
|
|
return (
|
|
<Activity mode={isOpen ? "visible" : "hidden"}>
|
|
<ExpensiveMenu />
|
|
</Activity>
|
|
);
|
|
}
|
|
```
|
|
|
|
Avoids expensive re-renders and state loss.
|