Panorix logo Panorix
USE CASE

Long emails. Endless AI chats. Articles that scroll forever.

Gmail threads, Claude / ChatGPT conversations, Medium articles, Notion pages. When the conversation never ends, capture it all.

panorix.app/preview · React fundamentals
React fundamentals
6 messages
U
How does React decide when to re-render a component?
A
React re-renders a component when its state or props change. The reconciler diffs the previous virtual DOM tree against the new one, and only the changed nodes get updated in the actual DOM. Pure components and React.memo can short-circuit this when nothing meaningful changed.
U
What about useMemo for expensive computations?
A
useMemo caches the result of a computation across renders, recomputing only when its dependency array changes. Use it when the computation is genuinely expensive — for cheap calculations, the bookkeeping overhead can outweigh the savings.
U
When should I use useCallback vs useMemo?
A
useCallback memoizes a function reference; useMemo memoizes any value (including computed results). In practice, useCallback is just useMemo for functions. Reach for them when you're passing the value to a memoized child or when stable identity matters for an effect dependency.
Ask a follow-up…

Lazy-load aware

Modern apps load content as you scroll. Panorix waits for each chunk to settle before capturing — no blank rows in the stitched output.

Sticky header / footer handling

Sticky headers and chat input bars get detected and pinned only at the top of your screenshot — not duplicated on every page.

AI Reading export, built-in

Strongly recommended for long chat captures: slice and pack as ZIP, drop into ChatGPT or Claude, and they'll actually read the conversation.

Capture conversations that scroll forever.

For long emails and AI chats — try AI Reading export to keep them readable by your LLM.