Denormalizing vs. computing on client-side

Hi, I’m new to Meteor and followed through the React tutorial, which mostly all made sense.

What are guidelines for denormalizers? The incompleteCount in the tutorial seems like it could be easily done on the client side, i.e. just running a reduce on the todos. What are the considerations that caused it to be made into a denormalizer? Is it just when you want the computed value outside of the component that computes it?

I’m running into similar circumstances in my own project. So far I’ve just been computing on the client side, and seems to be working so far, but would like to be future-proof!


I’m surprised this doesn’t have any answers! Is this not a common design decision? I’m feeling like I’m missing something basic here…