react is the de-complication of threejs. all it does is allow people to take something that cost a lot of effort to make and wrap it into a re-usable. classes can’t do that. learn it if you want to make quick progress with threejs.
btw, the official bloom examples are imo convoluted, perhaps wrong. a better (and easer) way is this: Selective Bloom not working in react function with vanilla js wrapped in useeffect - #2 by drcmda though no longer 100% up to date because threejs has changed, some of it has to be adapted.
in react it’s just this
<EffectComposer>
<Bloom mipmapBlur luminanceThreshold={1} />
</EffectComposer>
// this will glow red
<mesh>
<boxGeometry />
<meshBasicMaterial color={[10, 0, 0]} />
</mesh>
// this won't, it will just be red
<mesh>
<boxGeometry />
<meshBasicMaterial color={[1, 0, 0]} />
</mesh>
all the complicated code has been put into a component, nobody has to struggle with again. demo: https://codesandbox.io/p/sandbox/bloom-hdr-workflow-gnn4yt