Elm will not replace React among most web developers for the simple reason that it is not JavaScript. It's easy to incrementally introduce React to JavaScript developers. Requiring an entire new language is a non-starter for many web developers (though I think the popularity of CoffeeScript and Babel et al is changing that to some extent)