I love Leaflet (and contributed quite a bit over the years).
The layer architecture can be easily combined with React. Just write react-components for the layers, shapes, or markers and use React's lifecycle-hooks to add/remove them from the map.
https://gist.github.com/fab1an/f040edbd939989d3a2557f15d2b9e...