Thanks for sharing.
You mentioned “They (Unidirectional architecture) also provide a much better separation of concerns when it comes to building front-end architectures.”
When I use the unidirectional architecture, I still feel confused with the separation of App state, UI state, and business logics. For me, it’s somehow a separation of calculations more than concerns. Can you possibly provide more details for this point?