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

时间:2017-12-14 19:33:02

标签: javascript react-table

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

  

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

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

  

“提供给data的{​​{1}}类型的道具object无效,预期为ReactTable。”

示例数据对象如下所示:

array

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

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

1 个答案:

答案 0 :(得分: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,依此类推。