You can of course render much more than just cubes. Here’s a big list of the shapes that react-three-fiber/Three.js supports:

(There are actually a few more, see the full list here)
The syntax is [shape name] plus Geometry, so the Box element is boxGeometry.
In the above example, we use boxGeometry, sphereGeometry, and tetrahedronGeometry (pyramid).
Props for shapes
All geometry takes an args prop which is an array of values. What the values mean depends on the type of object: Box takes [width, height, depth] and Sphere takes [radius, widthSegments, heightSegments] (“segments” is like “resolution” for the geometry).
Buffer shapes
Most shapes also comes in two “flavors”, one “regular” and one “buffer” version (e.g. <boxBufferGeometry />). In short, the buffer versions are more optimized for rendering, but the regular ones are easier to modify in code.