Доступ к состоянию компонента с помощью таблицы реакции

Это мой первый вопрос, и мне просто нужно понять, почему я не могу получить доступ к фактическому состоянию компонента при обработке изменений в Checkbox, переданных в хук useTable в таблице реакции.

const {
    getTableProps,
    getTableBodyProps,
    headerGroups,
    rows,
    prepareRow,
}: ITableInstance = useTable(
    {
        columns: tableColumns,
        data,
    },
    useRowSelect,
    (hooks: Hooks<any>) => {
            hooks.visibleColumns.push((tableColumns) => [
                {
                    id: 'selection',
                    Header: (headerCell: THeaderProps) => (
                        <Checkbox
                            {...headerCell.getToggleAllRowsSelectedProps()}
                            onChange={handleSelectAllRows(headerCell)}
                        />
                    ),
                    Cell: ({row}: TCellProps) => (
                        <Checkbox
                            {...row.getToggleRowSelectedProps()}
                            onChange={() => handleSelect((row.original as TSelectableTableRowData).selectionValue)}
                        />
                    ),
                },
                ...tableColumns,
            ]);
    }
);

Вот состояние моего компонента таблицы и обратный вызов при изменении:

const [selected, setSelected] = React.useState<string[]>([]);

const handleSelect = (selectedValue: string) => {
    setSelected(selected.concat([selectedValue])); // When I reach here, state is always = [], but it must have one item, when I check second checkbox.
};

Кажется, что каждый обработчик событий флажка использует собственное состояние реакции. Есть идеи, почему это так? Благодарность!

0 ответов

Другие вопросы по тегам