У меня есть ощущение что вы не понимаете что функциональный компонент объявляется как самая настоящая функция. У него нет никаких макросов, маркеров что он компонент и так далее. Это функция. И композиционные хуки это тоже обычная функция которая использует внутри дефолтные хуки. Я бы очень хотел посмотреть на то, как вы сможете реализовать систему которая позволяет писать вот так без реализации хуков в виде линкед листа c initialState и прочими причиндалами
const useNewHook = (url) => {
const [data, setData] = useState(null)
useEffect(() => {
fetch(url).then(({ data }) => setData(data))
}, [url, setData])
return data
}