// the find
PaulLeCam/react-leaflet
React components for Leaflet maps
React Leaflet wraps Leaflet.js map functionality in React components, handling the impedance mismatch between Leaflet's imperative DOM mutations and React's declarative model. It's a monorepo with a `@react-leaflet/core` primitives package and the main `react-leaflet` package on top. Aimed at React developers who need interactive maps without managing Leaflet instances directly.
The core/surface split is well-designed — `@react-leaflet/core` exposes hooks and factory functions so you can build custom Leaflet components that integrate cleanly with React context instead of fighting it. TypeScript throughout with proper types for Leaflet's event system, which is normally a pain to type correctly. Active maintenance through late 2025 with a clear changelog and versioned API reference. The hook-based API (`useMap`, `useMapEvents`) is the right abstraction level — you get access to the Leaflet instance when you need it without bypassing the component model.
Leaflet itself is showing its age (last major release 2021), and React Leaflet inherits all of that — no WebGL renderer, limited mobile touch handling, and vector tile support requires third-party plugins. The Hippocratic License is a non-starter for any commercial use; it adds ethical use clauses that most legal teams will flag immediately as incompatible with their standard OSS policy. SSR is genuinely painful — Leaflet requires `window`, so Next.js or Remix users have to reach for `dynamic(() => import(...), { ssr: false })` workarounds that the docs treat as an afterthought. Test coverage is snapshot-heavy which catches regressions in rendered output but tells you nothing about whether map interactions or event bindings actually work.