Getting Started Hyperx JSX Applications Lifecycle Events Virtual Nodes Keys Custom Tags Routing Tutorials API h app state view actions events plugins root emit