🧩 useComputed
useComputed lets you reactively compute a value from multiple chunks.
It automatically recalculates whenever any dependency changes — perfect for derived or combined state.
💡 Example
tsx
import { chunk } from "stunk";
import { useComputed } from "stunk/react";
const count = chunk(2);
const multiplier = chunk(3);
function Product() {
const product = useComputed([count, multiplier], (c, m) => c * m);
return <p>Product: {product}</p>;
}⚙️ How It Works
useComputed([chunk1, chunk2], computeFn) → Takes an array of chunks and a compute function. → Returns a reactive value that updates when any chunk changes. → Only re-renders when the computed result changes.
🧮 Real Example
tsx
const price = chunk(100);
const discount = chunk(0.2);
function DiscountedPrice() {
const finalPrice = useComputed([price, discount], (p, d) => p * (1 - d));
return <p>Final Price: {finalPrice}</p>;
}If either price or discount updates, the computed value refreshes automatically.
✅ Why Use useComputed?
- Compute values from multiple chunks
- Fully reactive updates
- Optimized rendering
- Clean, declarative API
Next up → useAsyncChunk for handling async reactive state. ⚡