📅 You're Invited: Meet the Socket team at RSAC (April 28 – May 1).RSVP
Socket
Sign inDemoInstall
Socket

zustand-devtools

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

zustand-devtools

names for zustand devtools

1.1.0
latest
Source
npm
Version published
Maintainers
1
Created
Source

Zustand-devtools

This is a small library that dynamically adds names to your devtools actions.

Installation

npm i zustand-devtools
yarn add zustand-devtools

Problem

Devtools will only log actions from each separated store unlike in a typical combined reducers redux store.
If an action type is not provided, it is defaulted to "anonymous".

zustand-devtools

To add an action name, a specific action type, pass the third parameter to the set function:

const useCountStore = create((set, get) => ({
    count: 0,
    increment: () => set(
            (state) => ({ count: ++state.count }),
            false,
            "count/increment" // action name
        ),
}))

or

const useCountStore = create((set, get) => ({
    count: 0,
    increment: () => set(
            (state) => ({ count: ++state.count }),
            false,
            { type: "count/increment" } // action name
        ),
}))

But it's tedious always throwing out a name

What I'm suggesting

You don't have to manually add names. Instead, the names will be the names of your functions.

For example

import { devtools } from "zustand-devtools";

const useCountStore = create(
    devtools((set) => ({
        count: 0,
        increment: () => set((state) => ({ count: ++state.count })),
    })),
);

zustand-devtools

import { devtools } from "zustand-devtools";

const useCountStore = create(
    devtools((set) => ({
        count: 0,
        increment: () => set((state) => ({ count: ++state.count })),
    }), { name: "count" }),
);

If you add a name to devtools options, the output will be like this zustand-devtools

But if you want to set your name in the set function, it will be prioritized

import { devtools } from "zustand-devtools";

const useCountStore =  create(devtools((set, get) => ({
    increment: () => set(
            (state) => ({ count: ++state.count }),
            false,
            "my action name" // action name will be prioritized
        ),
})))

zustand-devtools

If you find a bug or have suggestions for improving this library, please create an issue or send a pull request to GitHub.

Keywords

zustand

FAQs

Package last updated on 19 Sep 2023

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