Bowl of Fruit - General Update Pattern No Animation
This example demonstrates the general update pattern in D3, showing how data joins handle entering, updating, and exiting elements. A bowl of fruit rendered as SVG circles and text labels changes over time—an apple disappears, one apple turns into a lemon, and another apple is removed—without animation. The code uses `selection.data()`, `selection.enter()`, `selection.exit()`, and `.merge()` from d3.v6 within a React framework, with `scaleOrdinal` mapping fruit types to colors and radii. The static updates run via `setTimeout` calls, highlighting the distinction between enter, update, and exit selections.