You're correct in that Relay correctly identified the same architectural problem with having data requirements _far away_ from the components that actually need it.
This is why React Resolver was created, and from what I've seen, also spurred React Nexus & React Transmit as well.
On an related note, v1 of React Resolver explicitly stated how it was similar to Relay with regards to fetching data for components. I've since dropped that messaging to avoid confusion since Relay isn't even available yet :)
How you choose to fetch data is up to you, whether you use Flux, or fire AJAX calls within the `@resolve` function.
That's your code, not mine. I just make it so you can put your data requirements _beside_ your component instead of several layers up :)