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.
Hooks are just another means to use state (and other functionality) in a so-called "smart", functional, component. That said, their existence doesn't change the answer to this question (of which, there are many). 

One example of an appropriate use of state is when you have a component that will render different output based on some sort of *change* to the component after the initial render. More specifically, if you have a component that needs to make a network call to fetch some data for display, you could use state to keep track of the initial non-existence of that data and update it when the network call returns using `setState`.

In my experience, as a general pattern, you should use state for things that change and props for things that don't.