Yes, actually I am trying to add a small new feature, over existing code, just trying to tweak it to look more simpler.
But I am not coupling things more tightly, I am actually decoupling things, so when I removed those class member functions, out to helper file, I decoupled their logic from the class and now few other classes can also use the same helper logic if need be
Dan you are correct in the when you mention Context, yes Context is way to go over here, however, I thought that would be a lot of code change, so I didn’t took that path.
I have noted your point about not binding functions to class, I am skipping those for certain helper functions, but we could do this only because I extracted them out of the class, if they were in class, they were already tightly coupled and unusable for other class
So I don’t see, how I am introducing tight coupling, I see I am doing opposite.
With a bit of respect, I don’t understand why it would be a terrible pattern, I would say something terrible, if it introduces extra work, without offering any benefit or solving a problem, i.e. it could have been easily solved through other simpler way.
If you leave away context, what is that which makes it terrible, and I had to leave context, because that would ask either to change my class component into functional component, which is good, but would have demanded lot of logic rewriting OR use the renderProps pattern, both was too much of rewriting