Создайте уникальный ключ для React при использовании LodashFP - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь использовать метод map Lodash для рендеринга списка компонентов в React, но генерируемый ключ неизменно из-за способа, которым он возвращается.Есть ли какой-нибудь способ обойти это?

{map((item) => (<Item {...item} key={item.id} />), items}

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Поскольку вы уже используете loadashFP, вы можете просто использовать _.uniqueId с префиксом:

_.uniqueId('KEY_');  // KEY_1
_.uniqueId('KEY_');  // KEY_2 etc ...

В вашем случае:

{map((item) => (<Item {...item} key={_.uniqueId('KEY_')} />), items}
0 голосов
/ 16 октября 2018

Вы не должны использовать номер индекса в качестве ключа. здесь это блог, почему?

Лучший способ, который я нашел, это то, что btoa(Math.random()).substring(0, 12) btoa изначально поддерживается в JS.

   console.log(btoa(Math.random()).substring(0, 12))

key = {btoa (Math.random ()). Substring (0, 12)}

...