import com.Foo; import components.Header; import react.ReactMacro.jsx; import react.ReactComponent; import react.router.Route; typedef RootState = { route: String, ?component: react.React.CreateElementType } class Root extends react.ReactComponentOfState { public function new() { super(); state = { route:'' }; } override function componentDidMount() { switch (state.route) { default: Webpack.load(Foo).then(function(_) { setState(cast { component:Foo }); }); } } function yeet(){ //state.route="yeet"; //trace(this.props.location.pathname); trace(state); } override function render() { return jsx('

Hello Haxe + Webpack + React

${renderContent()}
'); } function renderContent() { if (state.component == null) return jsx(' Loading... '); else return jsx(' '); } }