@location-state/core

1.0.1 • Public • Published

@location-state/core

npm version License: MIT

State management library for React that synchronizes with history location supporting Next.js App Router.

Features

  • Manage the state to synchronize with the history location.
  • By default, supports Session Storage and URL as persistent destinations.

Packages

Quickstart for Next.js App Router

Installation

npm install @location-state/core
# or
yarn add @location-state/core
# or
pnpm add @location-state/core

Configuration

// src/app/Providers.tsx
"use client";

import { LocationStateProvider } from "@location-state/core";

export function Providers({ children }: { children: React.ReactNode }) {
  return <LocationStateProvider>{children}</LocationStateProvider>;
}
// src/app/layout.tsx
import { Providers } from "./Providers";

// ...snip...

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  );
}

Working with state

"use client";

import { useLocationState } from "@location-state/core";

export function Counter() {
  const [counter, setCounter] = useLocationState({
    name: "counter",
    defaultValue: 0,
    storeName: "session",
  });

  return (
    <div>
      <p>
        storeName: <b>{storeName}</b>, counter: <b>{counter}</b>
      </p>
      <button onClick={() => setCounter(counter + 1)}>increment</button>
    </div>
  );
}

API

View the API reference here.

Readme

Keywords

none

Package Sidebar

Install

npm i @location-state/core

Weekly Downloads

17

Version

1.0.1

License

none

Unpacked Size

78.5 kB

Total Files

36

Last publish

Collaborators

  • koichik
  • akfm