Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@qstate/react

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@qstate/react

QState React is a library for managing query parameters in React applications. It provides custom hooks to decode, encode, and manage query parameters in a type-safe manner.

latest
npmnpm
Version
0.0.5
Version published
Maintainers
0
Created
Source

QState React

QState React is a library for managing query parameters in React applications. It provides custom hooks to decode, encode, and manage query parameters in a type-safe manner.

Installation

To install the react package, use npm or yarn:

npm install @qstate/react
# or
yarn add @qstate/react

Usage

Creating Query Parameter Settings

You can create settings for different types of query parameters using the provided utility functions from the core package.

import {
    stringSettings,
    booleanSettings,
    numberSettings,
    dateSettings,
    stringArraySettings,
} from "@qstate/core";

const config = {
    search: stringSettings,
    showDetails: booleanSettings,
    page: numberSettings,
    startDate: dateSettings,
    tags: stringArraySettings,
};

Using useQueryParam Hook

Use the useQueryParam hook to manage a single query parameter.

import { useQueryParam } from "@qstate/react";

const [search, setSearch] = useQueryParam("search", stringSettings);

useEffect(() => {
    console.log(search);
}, [search]);

// To update the query parameter
setSearch("new search value");

Using useQueryParams Hook

Use the useQueryParams hook to manage multiple query parameters.

import useQueryParams from "@qstate/react";

const [queryParams, setQueryParams, isReady] = useQueryParams(config);

useEffect(() => {
    if (isReady) {
        console.log(queryParams);
    }
}, [queryParams, isReady]);

// To update multiple query parameters
setQueryParams({ search: "example", page: 2 });

Subscribing to Query Parameter Changes

Use the useOnQueryParamChange hook to listen for query parameter changes.

import { useOnQueryParamChange } from "@qstate/react";

useOnQueryParamChange((queryString) => {
    console.log("Query parameters changed:", queryString);
});

Getting the Current Query String

Use the useQueryString hook to get the current query string.

import { useQueryString } from "@qstate/react";

const queryString = useQueryString();

useEffect(() => {
    console.log("Current query string:", queryString);
}, [queryString]);

API

useQueryParam(name, config)

Custom hook to manage a single query parameter.

  • name: The name of the query parameter.
  • config: The configuration for the query parameter.

useQueryParams(config)

Custom hook for managing multiple query parameters.

  • config: The configuration object that defines the query parameters and their settings.

useOnQueryParamChange(callback)

A utility hook to listen to all query parameter changes.

  • callback: The callback function to execute when query parameters change.

useQueryString()

A utility hook that listens to all query parameter changes and returns the current query string.

License

This project is licensed under the MIT License.

FAQs

Package last updated on 12 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts