The Candid Startup
    Preparing search index...

    Interface ReactSpreadsheetData<Snapshot>

    Extension of SpreadsheetData interface so that it's compatible with React's useSyncExternalStore hook

    Additional properties are optional, so anything that implements SpreadsheetData is compatible with something that accepts ReactSpreadsheetData.

    interface ReactSpreadsheetData<Snapshot> {
        getServerSnapshot?: () => Snapshot;
        getCellFormat(snapshot: Snapshot, row: number, column: number): CellFormat;
        getCellValue(snapshot: Snapshot, row: number, column: number): CellValue;
        getColumnCount(snapshot: Snapshot): number;
        getColumnItemOffsetMapping(snapshot: Snapshot): ItemOffsetMapping;
        getLoadStatus(snapshot: Snapshot): Result<boolean, StorageError>;
        getRowCount(snapshot: Snapshot): number;
        getRowItemOffsetMapping(snapshot: Snapshot): ItemOffsetMapping;
        getSnapshot(): Snapshot;
        getViewport(snapshot: Snapshot): SpreadsheetViewport | undefined;
        isValidCellValueAndFormat(
            row: number,
            column: number,
            value: CellValue,
            format: CellFormat,
        ): Result<void, ValidationError>;
        setCellValueAndFormat(
            row: number,
            column: number,
            value: CellValue,
            format: CellFormat,
        ): ResultAsync<void, SpreadsheetDataError>;
        setViewport(viewport: SpreadsheetViewport | undefined): void;
        subscribe(onDataChange: () => void): () => void;
    }

    Type Parameters

    • Snapshot

    Hierarchy (View Summary)

    Index

    Methods

    • Set viewport of interest

      Can be used by SpreadsheetData implementations to optimize data retrieval and memory usage. Queries for cells outside the viewport may return undefined. Clients should not rely on any particular behavior for queries outside the viewport.

      Set to undefined (the default) if the client needs access to the entire spreadsheet

      Parameters

      Returns void

    Properties

    getServerSnapshot?: () => Snapshot

    Used by useSyncExternalStore to support server side rendering