Skip to content

Dynamic default value with type ? #525

Answered by franky47
Kavan72 asked this question in Q&A
Discussion options

You must be logged in to vote

How about using a function to create the search params descriptor object?

export const createFilterType = (withRecognizedTermsDefault: boolean) => ({
  query: parseAsString.withDefault(''),
  withRecognizedTerms: parseAsBoolean.withDefault(withRecognizedTermsDefault)
})
type FilterType = ReturnType<typeof createFilterType>

interface Props {
  filters: ReturnType<typeof useQueryStates<FilterType>>[0]
  setFilter: ReturnType<typeof useQueryStates<FilterType>>[1]
}

const Test = ({ userRecognizedTerms }: { userRecognizedTerms: boolean }) => {

  const [filters, setFilter] = useQueryStates(createFilterType(userRecognizedTerms), {
    clearOnDefault: true,
  })

  return (
    <>Test</>
  );
}

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@Kavan72
Comment options

Answer selected by Kavan72
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants