You don't need to use setState within initState. In fact, it will not work if you do so.
The thing is, you are not calling setState within initState in your example.
What you do is calling setState on an asynchronous event. But since it's asynchronous, the initState method has already finished