Skip to content

Uncorrect previous params if using callback inside setQuery in case of using urlName #249

Open
@Resetand

Description

@Resetand

Hi, thanks for those amazing libraries.
One of the last release contains many really useful updates. urlName was a lifesaver for me because it allowed me to get rid of a lot of workarounds.

And it's seems like i found a bug

Problem

The problem occurs when using urlName

In this example prev object inside setQuery callback will never contain paramWithAlias property, however the query state object will be up to date

const StringParamWithAlias = {...StringParam, urlName: 'alias'}

// URL https:[...]?alias=example&other=here
const [query, setQuery] = useQueryParams({ paramWithAlias: StringParamWithAlias, other: StringParam })

useEffect(() => {
    setQuery(prev => {
        console.log(prev) // ! will be { other: 'here' } without `paramWithAlias`
        return ...
    })
},[])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions