Knave is an MIT-licensed client-side navigation library that tries to get it right. Currently it consists of two packages:
knave
: Frame-work agnostic coreknave-react
: React bindings
PRs that implement bindings for other frameworks are very welcome.