React

HTML

<div id="app"></div>

React

var { useState, useRef } = React;

function App() {
	var [MyComponent, setMyComponent] = useState(() => () => {
  	return useRef(Math.random()).current + '';
  });
  
	return (
    <div>
      {React.createElement(MyComponent)}
      <div 
        onClick={() => {
          setMyComponent(() => () => {
  					return useRef(Math.random()).current + '';
          })
        }}
      >hotswap component</div>
    </div>
  );
}

ReactDOM.render(<App />, document.querySelector("#app"))