How Views Map to Native

Under the Hood: How Views Map to UIView and android.view

Fabric, the New Architecture renderer, turns each host element React 7,897 produces into a node of an immutable C++ shadow tree, runs Yoga over it to compute every frame, and diffs it against the previous tree. The diff is also where view flattening happens (View Props): layout-only nodes are dropped, and nodes that draw but need no coordinate space of their own are hoisted to an ancestor. Only then does the mounting layer create, update or delete platform views, on the main thread.

From JSX to platform views: the shadow tree is computed in C++ and only the surviving nodes become native views
From JSX to platform views: the shadow tree is computed in C++ and only the surviving nodes become native views

The Android classes are those the emulator reported; the iOS names come from React Native 36,878 's React/Fabric/Mounting/ComponentViews sources (RCTParagraphComponentView and so on), since iOS cannot run here. All are ordinary subclasses (ReactEditText extends AppCompat's EditText; the iOS classes extend UIView), which is why a field gets the platform's selection, autofill and accessibility for free.