Great list of ajax libraries!
But if you're talking about ReactJS specifically, then every one of your examples is, in facebook's own words, an anti-pattern. You're setting state in an asynchronous callback, which means the component could be unmounted by the time the callback is called.
@fibric gets it; calling out qwest's cancellable promises. I'd recommend everyone read this post on React's blog: facebook.github.io/react/blog/2015/12/16/ismounte…