Unfortunately, history shows us that it's a terrible idea from a performance perspective.
useFrame binds a single component to the render-loop. But in a managed way. Once the component unmount, it's getting taken out. You can also stack calls like that with something like a z-index, which is awesome for effects.
This game uses some of it: https://codesandbox.io/embed/react-three-fiber-untitled-game...