Javascript 有没有办法在不知道嵌套键的情况下传递嵌套json的访问者。表抛出错误

Javascript 有没有办法在不知道嵌套键的情况下传递嵌套json的访问者。表抛出错误,javascript,reactjs,object,react-table,Javascript,Reactjs,Object,React Table,React Table:是否有任何方法可以在不知道嵌套键的情况下传递嵌套json的访问器。反应表抛出错误:对象作为反应子对象无效(找到:具有键{childnode}的对象)。如果要呈现子对象集合,请改用数组 columns = Object.keys(data).map(key=>{ return { Header: key, accessor: key }

React Table:是否有任何方法可以在不知道嵌套键的情况下传递嵌套json的访问器。反应表抛出错误:对象作为反应子对象无效(找到:具有键{childnode}的对象)。如果要呈现子对象集合,请改用数组

 columns = Object.keys(data).map(key=>{
            return {

                Header: key,
                accessor: key
            }
        });

   <ReactTable
                    id = "table"
                    data={data}
                    filterable
                    defaultFilterMethod={(filter, row, column) => {
                            const id = filter.pivotID || filter.id;
                            /*String(row[filter.id]) === filter.value*/
                             if (typeof filter.value === "object") {
                                return row[id] !== undefined
                                    ? filter.value.indexOf(row[id]) > -1
                                    : true;
                             }
                            /* else {
                                return row[id] !== undefined
                                ? String(row[id]).indexOf(filter.value) > -1
                                : true;
                            }*/
                             else {
                                 return row[id] !== undefined
                                     ? String(row[id].toLowerCase()).startsWith(filter.value.toLowerCase())
                                     : true;
                             }
                        }
                    }

                    columns =
                        {
                        columns
                    }

                    minRows = {0}
                    defaultPageSize={20}
                    className="-striped -highlight"
                />
columns=Object.key(数据).map(key=>{
返回{
标题:键,
存取器:密钥
}
});
{
const id=filter.pivotID | | filter.id;
/*字符串(行[filter.id])==filter.value*/
if(typeof filter.value==“对象”){
返回行[id]!==未定义
?filter.value.indexOf(行[id])>-1
:正确;
}
/*否则{
返回行[id]!==未定义
?字符串(行[id]).indexOf(filter.value)>-1
:正确;
}*/
否则{
返回行[id]!==未定义
?字符串(行[id].toLowerCase()).StartWith(filter.value.toLowerCase())
:正确;
}
}
}
纵队=
{
柱
}
minRows={0}
defaultPageSize={20}
className=“-striped-突出显示”
/>

用于创建列的
数据
变量必须是一个json对象,而不是对象列表。由于在上面的代码中没有包含
数据
变量,因此我假设它是一个列表,因此会出现错误。通常情况下,
数据
引用列表

为了获取对象的所有键,您可能希望在第一个数据对象上构建循环(假设所有数据对象都具有相同的键):


用于创建列的
data
变量必须是一个json对象,而不是对象列表。由于在上面的代码中没有包含
数据
变量,因此我假设它是一个列表,因此会出现错误。通常情况下,
数据
引用列表

为了获取对象的所有键,您可能希望在第一个数据对象上构建循环(假设所有数据对象都具有相同的键):


您是否可以共享一些代码或设置一个codesandbox-x.io/s/new,以便我们可以看到发生了什么。@VijayMenon添加了代码您是否有控制台记录的列,并确保它是一个对象数组?您可以分享一个用于创建列的JSON片段吗?它是一个嵌套的JSON。和react表无法读取嵌套数据。确定。只是想知道在控制台日志及其对象数组(这是react table docs的要求)时,“columns”(用于react table columns的变量)是否有数据您是否可以共享一些代码或设置一个codesandbox-x.io/s/new,以便我们可以看到发生了什么。@VijayMenon添加了代码您是否有控制台记录的列,并确保它是一个对象数组?您可以分享一个用于创建列的JSON片段吗?它是一个嵌套的JSON。和react表无法读取嵌套数据。确定。只是想知道在控制台日志及其对象数组(这是react table docs的要求)时,“columns”(用于react table columns的变量)是否有数据
const columns = Object.keys(data[0]).map(key=>{
    return {
        Header: key,
        accessor: key
    }
}))