Тот факт, что 'a ++' или 'printf ("foo")' может быть полезен либо как автономный оператор, либо как часть большего выражения, означает, что C должен допускать возможность того, что результаты выражения могут или не могут быть использованы. Учитывая это, существует общее представление о том, что выражения, которые могли бы «вернуть» значение, могут также сделать это. Цепочка присваивания может быть немного «интересной» на C и еще более интересной на C ++, если все рассматриваемые переменные не имеют точно такого же типа. Вероятно, такие способы лучше избегать.
попробуйте включить 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 , это не повредит.
Я думаю, вы должны очистить свой массив pagesMap перед повторным заполнением, поэтому код для populatePagesMap должен быть:
function populatePagesMap() {
pagesMap = [];
for (var i = 0; i < props.pages; i++) {
pagesMap.push(i + 1);
}
}