so I'm kinda into React and I've been using both function and class components and I was wondering, what's the true difference between them? When should you use either of them? Are hooks more powerful and effective than class methods? Any answers would be appreciated, thanks!