I see what you mean about the redundancy of the two loops.  

However, the store should manage and report on its own state, and the render function should just handle rendering, with as little data massaging as possible for the sake of the child components.  This is the ideal separation of concerns.  

When I first read your comment, I thought that perhaps we could allow this component to manage that state for the sake of optimization.  But then I realized we would be needing to call setState somewhere so that _onToggleCompleteAll() would know which way to toggle, and I started to wonder if any optimization was really going to be possible.

Beyond the issue of setState, generally speaking, when developing a large and evolving app, I think it's often better to stick with the separation of concerns and only optimize when you really need it.