I have read your article and it’s pretty comprehensive. While letting the state drive the view itself using the conventional viewState variable isn’t out of question and is popular because we can freely determine the view state at any given time, unfortunately, it’s something that I used in the past and I would rather avoid if possible.
The reason is that by using variable viewState in a complex view model, it might lead to too many viewState variable assignments in the entirety of the code (check down the reference below). I know that it’s flexible to use and my old code below can be improved, but still.
That’s why I still recommend using computed viewState for most scenarios, especially if many functions have the same viewState assignments (Computed property is merely a simplification of the conventional approach possible). But good points though for the viewState variable.
Reference: https://github.com/kevinjonathan30/feasthub/blob/master/FeastHub/Module/Home/HomePresenter.swift