Ngrx Signal Store Update Entity

Discussão em 'Angular' iniciado por Zed, Novembro 21, 2024.

  1. Zed

    Zed Guest

    I'm working on pagination in an Angular application using the NGRX Signal Store. I have a PaginatedResult model that contains a list of users and a pagination object. Here are my models:

    export interface Pagination {
    currentPage: number;
    itemsPerPage: number;
    totalItems: number;
    totalPages: number;
    }

    export interface PaginatedResult<T> {
    result?: T;
    pagination?: Pagination;
    }


    Here is the default configuration and the initial state of my store:

    const defaultPaginationConfig: Readonly<PaginatedResult<Users>> = {
    result: [],
    pagination: {
    currentPage: 1,
    itemsPerPage: 10,
    totalItems: 0,
    totalPages: 0,
    },
    };

    export interface LoadUserState {
    paginationUsers: PaginatedResult<Users> | undefined | null;
    isLoading: boolean;
    }

    const initialValue: LoadUserState = {
    paginationUsers: defaultPaginationConfig,
    isLoading: false,
    };


    I created a method in my store to update the currentPage value. Here is the current implementation:

    updatePage(currentPage: number) {
    patchState(store, { paginationUsers: { ...store.paginationUsers()?.pagination?.currentPage, currentPage } });
    }


    i have this error : Spread types may only be created from object types.

    Thank you in advance for your help!

    Continue reading...

Compartilhe esta Página