In regards to business logic, I think you just need to be strict when writing your application with the idea of what a 'view' is. Although React may seem like you are violating separation of concerns, in reality view logic and templates are already tightly coupled.
https://github.com/happi/json-transform
As another comment suggests (https://news.ycombinator.com/item?id=9215580), this would allow you to keep everything as a data structure until the last minute.
In regards to business logic, I think you just need to be strict when writing your application with the idea of what a 'view' is. Although React may seem like you are violating separation of concerns, in reality view logic and templates are already tightly coupled.