100% this. Reading complex functional components is challenging because you're creating the functionality of a class with non of the organization.
I also find functions much easier to read as there is no "this" and you can simply read them top to bottom for order of execution.
Ah yeah, that does take a while to unpack. I think a lot of the complexity there is dealing with a non-react library and the dynamic import(s). Binding non-react libraries can be a bit rough.
I do think it's a good example to show the big advantage of hooks, if you look at the use of the hook, super clean: https://github.com/graphql/graphiql/blob/50674292c55eadf0e61...
Great way to contain complexity and make usage really clean and simple!