Установка уникального ключа в Grommet DataTable Reactjs - PullRequest
0 голосов
/ 14 апреля 2019

Ранее я обнаружил ошибку:
Warning: Encountered two children with the same key, project . Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.

Эта ошибка исходила из таблицы данных Grommet, которую я использовал.Проблема в моей таблице, первый столбец «тип», который может иметь один из двух вариантов: проект или задача.Grommet автоматически принимает в качестве ключа первый столбец, а это не то, что мне нужно, поскольку ключи станут дубликатами.

Я тщательно изучил документацию Grommets и попытался ввести первичный ключ, как указано здесь:

https://v2.grommet.io/datatable#primaryKey

Моей первой попыткой было использование primaryKey в соответствии с инструкциями, см. Первую попытку в приведенном ниже коде.

Моя вторая попытка - я ввел data._id какстолбец, и установите основной в значение true.Это работает, но я не хочу, чтобы data._id отображался в моей таблице, я просто хочу установить его в качестве ключа.


`<DataTable
    sortable={true}
//this is what I attempted but nothing happened
    primaryKey={data._id}
    columns={columns}
    data={data}
/>`


Я хочу установить ключ для data._id, потому что это уникальный идентификатор, однако я не хочу, чтобы data._id отображался в моей таблице.

Любые предложения будут в значительной степениоценили.

1 Ответ

0 голосов
/ 14 апреля 2019

primaryKey должен быть строкой, поэтому в этом случае это будет:

`<DataTable
    sortable={true}
    primaryKey="_id"
    columns={}
  />`
...