mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 01:25:39 +00:00
cfa4b13472
Summary: This adds new development feature to React Native that provides information about selected element (see the demo in Test Plan). This is how it works: App's root component is rendered to a container that also has a hidden layer called `<InspectorOverlay/>`. When activated, it shows full screen view and captures all touches. On every touch we ask UIManager to find a view for given {x,y} coordinates. Then, we use React's internals to find corresponding React component. `setRootInstance` is used to remember the top level component to start search from, lmk if you have a better idea how to do this. Given a component, we can climb up its owners tree to provice more context on how/where the component is used. In future we could use the `hierarchy` array to inspect and print their props/state. Known bugs and limitations: * InspectorOverlay sometimes receives touches with incorrect coordinates (wtf) * Not integrated with React Chrome Devtools (maybe in followup diffs) * Doesn't work with popovers (maybe put the element inspector into an `<Overlay/>`?) @public Test Plan: https://www.facebook.com/pxlcld/mn5k Works nicely with scrollviews