Who wants to fight with React all day long just to make a simple custom component for Streamlit? Not me.
Instead I made this template using Alpine.js to create custom a component : https://github.com/aaronblondeau/streamlit_alpine
P.S. If you haven't played with Streamlit yet, try it out. It is a fun and extremely capable tool.