Таблица React: есть ли способ передать средства доступа, вложенные json, не зная ключей вложенности. Таблица React выдает ошибку: объекты недействительны в качестве дочерних элементов React (найдено: объект с ключами {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"
/>
@VijayMenon добавил код
Вы записали в консоль столбцы и убедились, что это массив объектов? Не могли бы вы поделиться фрагментом JSON, который вы используете для создания столбцов?
Это вложенный JSON. и реагирующая таблица не может прочитать вложенные данные.
Ok. Просто хотел узнать, есть ли у «столбцов» (переменная, которую вы используете для столбцов реагирующей таблицы) данные, когда вы ведете консольный журнал, и это массив объектов (что является требованием согласно документам реагирующей таблицы)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Переменная data, которую вы используете для создания столбцов должен быть один объект json, а не список объектов. Поскольку вы не включили свою переменную data в свой код выше, я предположил, что это список, поэтому ошибка. Часто бывает так, что data относится к списку.
Чтобы получить все ключи объекта, вы можете построить свой цикл на первом объекте данных (при условии, что все объекты данных имеют одинаковые ключи):
const columns = Object.keys(data[0]).map(key=>{
return {
Header: key,
accessor: key
}
}))
Не могли бы вы поделиться некоторым кодом или настроить codeandbox — коды и бо x.io/s/new, чтобы мы могли видеть, что происходит.