169 похожих чатов

Есть json объект следующего вида: [ {data: "string", anotherData: {however:'lol'}},

...
]```Мне нужно отрендерить таблицу, делаю следующее:
slice - чтобы выбрать объекты от n до m значения (используется для "пагинации")
Затем рендерится таблица:
```json2table = json => {
const cols = Object.keys(json[0]);
const headerRow = cols.map(col => <th key={col}>{col}</th>);
const bodyRows = json.map(row => (
<tr key={row}>
{cols.map(col => <td key={row[col]}> {row[col]} </td>)}
</tr>
));

return (
<table>
<thead>
<tr>{headerRow}</tr>
</thead>

<tbody>{bodyRows}</tbody>

<tfoot>
<tr>{headerRow}</tr>
</tfoot>
</table>
);
};Проблема:
1) Во время пагинации (значения от и до в slice меняется и массив режется соответственно этим значениям) окуда-то появляются новые cols, я не пойму, откуда
2) Объект в объекте может содержать не только текст, но и массив, как лучше всего это отображать?
[
{date: "string", anotherData: ['string', ...], oneMore:[{omg:'really?'}]}
]
Буду рад любой помощи, правки приносят быстрее, чем я успеваю обрабатывать все :(

UPD:
Возможно-ли, что новые колонки появляются из за slice? Мне кажется именно здесь кроется корень проблемы, чем лучше всего заменить?

UPD:
Не понимаю, рендерится 30 VNode элементов (tr), в которых 19 childrens (cols/td), но в таблице откуда-то появляются в некоторых строках (tr) лишние столбцы (td)
Ну вот и какого..

UPD:
Проблема решена
Решение:
НИКОГДА не забывать смотреть, что передается в key внутри map, потому-что null - вообще не годится как ключ
Всем спасибо за внимание и помощь!
(Знаю, у вас еще очень рано, спите сладко ❤ )

1 ответов

6 просмотров

Код кидать нет смысла. Кидай скрины

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта