React is a view framework atop javascript, Elm is a functional programming language. imo, these are not comparable. However, redux is a uni-directional communication, immutable flux architecture inspired by TEA so you'll find these two to almost be a 1 to 1 (Actions -> Msg, Reducer -> Update, State -> Model, Thunk -> Cmd?)
I've gone the other way, from react/redux to elm and found that aspect of it the most similar.
For other things like ADTs, no null types, there is nothing afaik on the js side. Elm even breaks away from the 'reusable component' thinking which is core to react, to a 'reusable function' way of looking at things as Evan details in the guide.