added use-search-params-state with example (examples/with-use-search-params-state) #47
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add URL Search Parameter State Management
🚀 Summary
This PR adds comprehensive URL search parameter state management to declarative-routing, making it as easy to work with URL parameters as React state. The main addition is the
useSearchParamsStatehook that provides automatic synchronization, debouncing, and type safety.✨ New Features
1.
useSearchParamsStateHook2. Enhanced
useParamswith Partial Support{partial: true}option for conditional parameter parsing3. Advanced Debouncing System
useDebounceCallbackhook with throttle support4. Improved URL Parameter Handling
5. Exposed
urlBuilderfor API RoutesurlBuilderfunction🔧 Technical Changes
ZodSchematoZodAnyObjectfor better.partial()supportlodash.debounceandlodash.throttlewith typesbuild:watchscript for development📚 Documentation & Examples
examples/nextjs/with-use-search-params-state/FEATURES.md🔄 Breaking Changes
None - All existing code continues to work unchanged. New features are opt-in.
📦 Migration Guide
For existing users:
No migration needed - all existing code continues to work unchanged.
New features you can adopt:
🎯 Use Cases
This enhancement is perfect for:
📋 Checklist
urlBuilderexposed on all route builders