使用对象而不是列表填充 react-table

Populating a react-table with an object instead of a list

react-table 库 (https://github.com/react-tools/react-table#data) 的文档指出:

"Simply pass the data prop anything that resembles an array or object."

然而,tables 在传入数据数组时按预期呈现,但在传递对象时,出现错误:

"Invalid prop data of type object supplied to ReactTable, expected array."

示例数据对象如下所示:

const data = {
"entry1": {
    name: 'Tanner Linsley',
    age: 26,
    friend: {
        name: 'Jason Maurer',
        age: 23,
    }
}, "entry2": {
    name: 'aTanner Linsley',
    age: 26,
    friend: {
        name: 'aJason Maurer',
        age: 23,
    }
} };

这是我对象结构的问题,还是仅仅意味着库不支持以这种方式通过对象填充?

注意:我更喜欢将这个数据结构(它会变得很大)作为一个对象(字典)而不是一个数组来维护,这样我就可以通过键有效地访问元素以供其他用途(在 react-[=29= 之外) ]).

react-table 库需要这样的输入:

const data = [{
    name: 'Tanner Linsley',
    age: 26,
    friend: {
        name: 'Jason Maurer',
        age: 23,
    }
},{
    name: 'aTanner Linsley',
    age: 26,
    friend: {
        name: 'aJason Maurer',
        age: 23,
    }
}];

I prefer to maintain this data structure

这有什么特别的原因吗?但是,如果你真的想那样做,你可以在将数据传递给组件之前将 Object.values(...) (MDN Source) 方法应用于你的数据。在这种情况下,你可以根据需要管理它,并且组件将获得正确的数据结构。

const convertedObject = Object.values(data);

但请记住,在这种情况下,您会丢失密钥 entry1 等等。