Обнаружены двое детей с одинаковым ключом. ключи должны быть уникальными, чтобы компоненты сохраняли свою идентичность при обновлении

Тот факт, что 'a ++' или 'printf ("foo")' может быть полезен либо как автономный оператор, либо как часть большего выражения, означает, что C должен допускать возможность того, что результаты выражения могут или не могут быть использованы. Учитывая это, существует общее представление о том, что выражения, которые могли бы «вернуть» значение, могут также сделать это. Цепочка присваивания может быть немного «интересной» на C и еще более интересной на C ++, если все рассматриваемые переменные не имеют точно такого же типа. Вероятно, такие способы лучше избегать.

0
задан Abhishek Konnur 18 January 2019 в 11:16
поделиться

2 ответа

попробуйте включить Index в конструкцию ключа , это сделает его уникальным.

  var pagesNumber = pagesMap.map((d,index) => (
    <li className="page-item" key={d+index} onClick={this.funcCallback}>
      <a className="page-link" id={d}> {d} </a>
    </li>
  ));

Не используйте только индекс в любое время, потому что это анти-паттерн , вы можете использовать его вместе с id , это не повредит.

0
ответ дан Praveen Rao Chavan.G 18 January 2019 в 11:16
поделиться

Я думаю, вы должны очистить свой массив pagesMap перед повторным заполнением, поэтому код для populatePagesMap должен быть:

  function populatePagesMap() {
    pagesMap = [];
    for (var i = 0; i < props.pages; i++) {
      pagesMap.push(i + 1);
    }
  }
0
ответ дан Gaurav 18 January 2019 в 11:16
поделиться
Другие вопросы по тегам:

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