3

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

“只需将数据道具传递给任何类似于数组或对象的东西。”

但是,在传递数据数组时,表格按预期呈现,但在传递对象时,出现错误:

“提供给data的类型无效的道具,预期的。”objectReactTablearray

示例数据对象如下所示:

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,
    }
} };

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

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

4

1 回答 1

1

图书馆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,
    }
}];

我更喜欢维护这个数据结构

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

const convertedObject = Object.values(data);

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

于 2017-12-14T19:44:46.220 回答