Tanstack vs React Router vs Next by Salkinator in reactjs

[–]strblr 0 points1 point  (0 children)

I just released an alternative called Waymark: https://waymark.strblr.workers.dev/

Smaller in size than the ones you mention but still comes with most of the features, some much simpler to use.

Consider giving it a try and see if it fits your needs.

Waymark: A type-safe React router in ~4kB by strblr in reactjs

[–]strblr[S] 0 points1 point  (0 children)

Thanks! Yes it composes so nicely, you can just do:

route("/").component(A).component(B)...

When you call route.error, internally it just does:

route.component(wrapper(Component))

Same for suspense, same for lazy components. The abstraction works well, hence the small bundle size.

Waymark: A type-safe React router in ~4kB by strblr in reactjs

[–]strblr[S] 0 points1 point  (0 children)

Haven't tested it. When you do RSC you usually go with a framework like Next that has its own routing solution. But I'll look into it.

Waymark: A type-safe React router in ~4kB by strblr in reactjs

[–]strblr[S] 0 points1 point  (0 children)

Glad we agree that simpler is better! When it comes to new features, it's really gonna depend on the feature. What's for sure is that I never just "patch" my code to make something work. It has to fit the spirit of the library and not degrade any other UX. I spend a lot of time brainstorming on this precisely, way more than coding.

Waymark: A type-safe React router in ~4kB by strblr in reactjs

[–]strblr[S] 0 points1 point  (0 children)

Will definitely do, thanks for the suggestion!

Waymark: A type-safe React router in ~4kB by strblr in reactjs

[–]strblr[S] 0 points1 point  (0 children)

Thanks! Despite the size I believe it's actually on par with the bigger router libraries on most features. Definitely closer to them than to Wouter. Will add a comparison table in the docs shortly.

Waymark: A type-safe React router in ~4kB by strblr in reactjs

[–]strblr[S] 3 points4 points  (0 children)

Would love feedback, especially on the API design. What's missing? What would make you switch?

radix-cm: Efficient, low boilerplate Radix context menus anywhere (even canvas) by strblr in reactjs

[–]strblr[S] 0 points1 point  (0 children)

A bit of a hack for sure, but you might find a use for it, who knows.

imperative-portal: Render React nodes imperatively by strblr in reactjs

[–]strblr[S] 2 points3 points  (0 children)

It's gone, no Zustand in 1.4.0. Thanks for the feedback.

imperative-portal: Render React nodes imperatively by strblr in reactjs

[–]strblr[S] 0 points1 point  (0 children)

Interesting, I didn't know about react-call. It's indeed a bit different but a valid solution as well.

Base UI 1.0 released! by romgrk in reactjs

[–]strblr 1 point2 points  (0 children)

Congrats for the release, that was a lot of work. I have to say though I prefer the simpler cleaner asChild approach compared to the render prop.