Do We Really Need to Separate the Model from the UI? TLDR: No

Do We Really Need to Separate the Model from the UI? TLDR: No.

Typically, domain models and UI views are completely separated. A few years ago, we had a good reason to do so because the views were mostly made of imperative code. But now that we have functional UI libraries (e.g., React with hooks), wouldn’t it be possible to gather everything together, and implement the views as methods of the models they represent?

Awesome.
I have two points:
You can create a functional component called UserLayout, to separate the layout, and then, return that in the View function.
and… How you intent to create the User object? If you load data from http (axios, or directly) you have no formal objects, only anonymous objects, lists and attributes.

  1. To manage layouts, I guess you can do as you said, but I would prefer to implement the layouts in some static methods of the User class.

  2. For sure, you need an instance of a class to use the OO approach I described in the article. So you cannot use a plain JavaScript object directly. At some point, your API client should instantiate a class.