使用对象而不是列表填充 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
等等。
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 typeobject
supplied toReactTable
, expectedarray
."
示例数据对象如下所示:
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
等等。