I have an Eachine E58 - can I use a better (generic ?) controller, or does each drone only work with its own controller ?
The more generic or prebuilt stuff will usually have a receiver which is the component that gets the signal from the transmitter/controller you hold and passes the signal along to the flight controller component that handles the actual self levelling and motor control. Quads sold as a ready to go kit with controller may have the FC and receiver components all baked into one board and even if the receiver is separate it may be difficult or impossible to find out what kind of signal it expects to get in from the receiver (there are a few different protocols or ways of sending signals on the wire between the receiver and flight controller (FC) and FC needs to know what kind of signal it's reading in.
Long story short maybe possible but definitely need to find out if the flight controller has a pin/pad available for receiver input. Really anything that used betaflight will have at least one if not a few inputs for receiver or other sensors but most off the shelf stuff that is a DJI clone or more in the toy grade rather than hobby grade stuff won't have an FC that is meant to be modified/reconfigured.
For betaflight based quadcopters they will be sold as BNF (bind and fly) meaning comes with a receiver usually and has options for which one to use since not all transmitters and receivers can communicate. Luckily recently a few companies have released openTX based transmitters with a "Jr module bay" where they have multiprotocol radios installed so can connect to receivers from a wide range of companies (main ones being frsky, spektrum, flysky). Search for tx16s or other openTX radios with 4 in 1 radio module.