Reactjs 即使I';在另一页中使用带有受控分页的react表

Reactjs 即使I';在另一页中使用带有受控分页的react表,reactjs,pagination,server-side,react-table,Reactjs,Pagination,Server Side,React Table,使用react table v7,我很难尝试删除所有选中的行,即使我在另一个页面中使用了从hook pluginuseRowSelect中选择的toggallrowselected 我对服务器端使用受控分页,正如文档所述,我将autoResetSelectedRows:false设置为将propselectedRowIds存储在状态中。因此,当我更改页面时,数据会更改,但我可以保持selectedRowIds的完整性。当我选中或取消选中一行时效果很好,但我不知道如何取消选中所有行,而不仅仅是当前

使用react table v7,我很难尝试删除所有选中的行,即使我在另一个页面中使用了从hook pluginuseRowSelect中选择的toggallrowselected

我对服务器端使用受控分页,正如文档所述,我将
autoResetSelectedRows:false
设置为将propselectedRowIds存储在状态中。因此,当我更改页面时,数据会更改,但我可以保持selectedRowIds的完整性。当我选中或取消选中一行时效果很好,但我不知道如何取消选中所有行,而不仅仅是当前页面中的行,这正是toggleallrowselected所做的

我做错了什么,或者toggallrowsselected回调中是否存在错误?是否有方法操纵react表的状态以手动更改selectedRowIds属性

我是这样解决的。。但这可能会导致性能问题,我认为…:

  const handleUnselectAll = () => {
    state.selectedRowIds = {};
    toggleAllRowsSelected(false);
  };
文件:

useRowSelect


来自服务器端的数据

我使用stateReducer选项解决了这个问题

  stateReducer: (newState, action) => {
    switch (action.type) {
      case 'toggleAllRowsSelected':
        return {
          ...newState,
          selectedRowIds: {},
        };

      default:
        return newState;
    }
  }
参考: