Question: So, i know the difference between the two but after hooks i'm kinda confused about when i should use stateless and when use statefull.

When i was learning the basics of React i was told that stateless is the "dumb" function and statefull is "smart". And that i should use stateless in simple things, because props are imutable and also use more than statefull. I dont really know the difference with Hooks changes in 16.8.

I know that we can use setState now but i dont understand it totally.

Answer: 
Your 'dumb' components should remaing dumb.

Your 'smart' components, can take advantage of hooks to make them 'dumb' with a hint of smart.

Imagine a component where you have to make it 'smart' because there is a toggle in it.

With the old way, you would create a component that has `State`.

With hooks, you can create a dumb functional component, that just happens to use the hook `useToggle`.

This keeps your code simple and concise, while at the same time keeping the same functionality you used to have building smart components.
I think, the question is actually simple, **when do we use the state hook in react**? The answer is, if you write a function component and realize you need to add some state to it, now you can use a state hook inside that existing function component. Previously you had to convert it to a class component.

Then why don't we use the class component from the beginning instead of function component? Because when it was first introduced, the recommended pattern for react developers was to use as many stateless components as possible, in other words as many function component.

And in my personal opinion, the function component is neater and easier to use, maybe even more suitable with the reusable component concept. So then, yeah, now we can expand the use of the function component even more.

Hope it helps