Tìm kiếm trang web

typescript - Làm thế nào tôi có thể xử lý Zustand persist trong các bài kiểm tra Jest của mình?

Hiện tại tôi đang tạo một ứng dụng react native sử dụng Zustand để quản lý trạng thái. Zustand có khả năng lưu trữ trạng thái vào bộ nhớ, trong trường hợp của tôi là async storage của react native. Nó hoạt động tốt, tuy nhiên khi chạy các bài kiểm tra, wrapper persist của Zustand khiến bộ kiểm thử jest của tôi t

Đọc thêm →

typescript - Gõ kiểu cho phương thức `set` từ cửa hàng Zustand với middleware Immer trong khi vẫn giữ tính năng gợi ý tự động

Tôi gặp khó khăn khi gõ kiểu cho phương thức set từ cửa hàng Zustand khi sử dụng middleware Immer. Tôi thực sự cần gõ kiểu cho nó vì một số thuộc tính chứa các hàm sẽ cập nhật trạng thái, nên chúng cần đến hàm set:

export const useStore = create<Store>()( immer((set, get) => ({ func: beginDraggingVertex(set, get, vertexID) })) ) .... function beginDraggingVertex(set: Setter, get: Getter, vertexID: string) { ...ommited set((sto

Đọc thêm →

reactjs - Làm thế nào để tôi tạo một hook wrapper selector cho Zustand store trong Typescript

Tôi đang cố gắng sử dụng Zustand như một sự thay thế cho React Context để cung cấp một trạng thái được chia sẻ giữa một tập hợp các thành phần, và một trong những mẫu mà tôi thấy mình sử dụng nhiều là selector nông với nhiều thuộc tính, như sau:

// store.ts i

Đọc thêm →

reactjs - Lỗi với Zustand và Typescript khi sử dụng Persist. Lỗi là: persist.d.ts(95, 210): Chưa cung cấp một đối số cho 'options'

Tôi đang cố gắng sử dụng chức năng persist với Zustand theo mẫu trong tài liệu Zustand cho Typescript nhưng tôi gặp lỗi khi thêm phương thức persist.

Lỗi là persist.d.ts(95, 210): Chưa cung cấp đối số cho 'options'.

Đây là một ví dụ

Đọc thêm →

Cách sử dụng zustand devtools với TypeScript?

Tôi đang cố gắng sử dụng tính năng devtools của zustand. Tôi cũng đang sử dụng typescript. Khi tôi truyền store vào devtools, toàn bộ mã store của tôi báo lỗi như sau: Argument of type 'StateCreator<Store, [], [["zustand/devtools", never]], Store>' is not assignable to parameter of type 'StateCreator<Store, [], [], Store>'.

Đây là mã cửa hàng của tôi:

const useUserStore = create<Store>(devtools((set) => ({

Đọc thêm →

reactjs - Cách sử dụng zustand cho trạng thái toàn cục xác thực người dùng trong next.js 13.4.9

Tôi có đoạn mã sau trong ứng dụng Next.js 13.4.9 của mình (sử dụng app router) và tôi không chắc cách sử dụng zustand hiệu quả để quản lý trạng thái xác thực toàn cục.

cửa hàng zustand:

// /src/store/AuthStore.ts import { create } from 'zustand'; import { persist }

Đọc thêm →

typescript - Sử dụng generics với phương thức create của zustand

Tôi có một cửa hàng zustand chứa các mục loại GridRow<T>. Điều này đại diện cho các hàng được chọn trong một lưới chính, vì vậy nó sử dụng generics để đại diện cho dữ liệu cụ thể được sử dụng trong lưới.

Tôi không chắc cách truyền kiểu tổng quát (generic) cho phương thức create của cửa hàng

Đọc thêm →

reactjs - hàm state của zustand để thay đổi một thuộc tính của đối tượng

Vì vậy, tôi đang sử dụng Zustand với React trong ứng dụng Electron của mình. Tôi đang sử dụng nó để lấy một số dữ liệu từ cơ sở dữ liệu Dexie. Chỉ là một mục và nó lưu vào state. Tôi đang cố gắng lấy hàm set từ component render để có thể thay đổi state của thuộc tính tương ứng trong state. Trong React

Đọc thêm →

reactjs - Thêm giá trị vào một mảng bên trong một đối tượng trong trạng thái Zustand

Tôi đang lưu một đối tượng người dùng trong trạng thái của Zustand và nó chứa một mảng danh sách các bộ phim yêu thích của người dùng (chỗ trống ban đầu được thay thế khi đăng nhập). Tuy nhiên, vì lý do nào đó, Zustand không nhận ra đối tượng người dùng, báo rằng nó không tồn tại khi tôi cố gắng sử d

Đọc thêm →

reactjs - Làm thế nào để Toggle sử dụng Zustand

Tôi đã tạo cửa hàng sau đây bằng Zustand:

import create from "zustand" const useStore = create((set) => ({ show: false, toggleShow: () => set((state) => ({ show: !state.show })), }))

Tôi đã giả định rằng đây sẽ là cách đúng để chuyển đổi giá trị của show. Tuy nhiên, TypeScript không vui lòng

Đọc thêm →