With Blaze, I use IronRouter, Autoforms, publish-composite, Tracker, Session, ReactiveDict etc etc because that is the ‘Meteor way of doing things’. I took the path of least resistance, aka path of many tuts/books/guides. I spent quite a lot of time reading about parent/child template relationships, asking for help in this forum because everyone was using the same packages and having the same problems. Parent/child template communication, etc etc.
With React, I quickly hit a snag with component communication. Around about my third react component, it needed to talk to the parent component requiring a callback to go through the middle component. React, by definition is a massive tree of nested components. Getting a signal in a child onClick to the parent would be very tedious without flux.
So the ‘React way of doing things’ is with Redux and all it’s jargon(reducers, thunk, middleware). Because this is the path of least resistance with many tuts/guides and because when I hit a problem, I’m going to find alot of people who’ve hit the same problem with their Store/Reducers, but not in their Session variable.
Therefore, saying you don’t have to learn flux/redux with React is kinda like a jQuery dev thinking they don’t have to use Methods/Tracker/Session with Blaze. You could do ajax calls, use a Promise library and keep state in the DOM.
Looking back at this time, the first 9 months building the Blaze app was the most productive time. I almost completed a MVP at work while learning Meteor before being made redundant , would have been awesome to publish to iOS/Android app stores too. It was a good goal that Meteor had and I had just got to the point where I knew enough to make a pretty decent app.
The next 6 months of trying React, exploring techs, reading this monstrosity of a topic, finally learning and loving Redux which lead to FRP was the most enlightening time. It brought to me (although with much resistance at first) the ideas presented in Elm, Cycle.js, Phoenix. (Actually I was going to spend the hols creating a cycle.js branch to see how true FRP works, will I still have to learn thunk? middleware? wtf is middleware?! sounds scary…)
So bite the bullet, keep moving. Tracker isn’t next to die… it died with Blaze.