|
|
|
|
|
by shrew
1565 days ago
|
|
> Because you sometimes want to filter, sort or project your data. The idea that this type of thing should be happening anywhere near the view rendering loop is the exact reason I've not had a great time picking up React codebases. By the time you're rendering data into markup, the data should be in the exact state you need it. No further filtering or data mangling or sorting. That type of data manipulation should happen at the point of data change and then it shouldn't happen again until the data changes again. The simplistic templating languages in Vue/Svelte/Alpine/whatever-comes-next force you to pull your data manipulation back to somewhere more appropriate, with Vue even throwing a warning if you try to filter within v-for construct. Because React is JS, people are let loose to do wildly inefficient operations and do them over and over and over whenever _anything_ in that component changes. |
|
It’s nice to have a concept “ground truth” in data and props and then computeds that sort of tie it all together.