4 ms·
My experience 1. Write some solution with out a UI 2. Decide you want a UI 3. Add React 4. Be forced to re-architect your solution because react wants contr
by nox101 2y ago
My experience
1. Write some solution with out a UI
2. Decide you want a UI
3. Add React
4. Be forced to re-architect your solution because react wants control of all of your state.
React is supposed to be the V (View) in MVC but it requires full control of the M (model) in MVC and bleeds into the C (controller) as well.
Someone will likely chime in that you can just tell React to re-render the entire UI every frame or write lots of custom functions to monitor your model but that's not really the point. No other UI paradigm requires this.
- t-writescode 2y agoWhen you say "write a solution without ui", do you mean "write a frontend solution without a ui"? What's a frontend solution without ui? I thought all of UI code was intended to serve the frontend. Are you referring to Electron apps or something?
- rtpg 2y agoThe way you can avoid this: - design "UI struct" for what you want to display - Have React fire off events when doing actions - Those actions get piped into your UI-less solution - Your UI-less solution updates the "UI struct" - React updates the parts of the tree that was using part of your struct if you design this struct in the right way, you can have the updates be _very_ targetted (like, React doing basically no extra work). But your UI struct needs to be really carefully set up so you're not firing things off all over the place. I think it's still an easier problem than keeping your DOM in sync entirely, but it's unfortunately very easy to accidentally over-render still.