- Notifications
You must be signed in to change notification settings - Fork 98
Closed
Description
Used RouteAdapter example:
https://github.com/pbeshai/use-query-params/blob/master/examples/react-router-6/src/index.js
#196 (comment)
My component code:
const MyComponent = () => { const [filter, setFilter] = useQueryParam('filter', ObjectParam); useEffect(() => { if (!filter) { { setFilter({ city: 'London' }); } }, [filter, setFilter]); Getting an error:
You should call navigate() in a React.useEffect(), not when your component is first rendered And redirect doesn't work.
Temporary solution
const MyComponent = () => { const [firstRenderDone, setFirstRenderDone] = useState(false); const [filter, setFilter] = useQueryParam('filter', ObjectParam); useEffect(() => { if (firstRenderDone && !filter) { { setFilter({ city: 'London' }); } }, [filter, firstRenderDone, setFilter]); useEffect(() => { setFirstRenderDone(true); }, []); How can I improve RouteAdapter to not implement firstRenderDone hack in every component I need redirect as soon as possible?
ruudandriessen
Metadata
Metadata
Assignees
Labels
No labels