При использовании функции карты в React разработчики могут столкнуться с ошибкой «TypeError: Cannot прочитать свойство неопределенного». Эта ошибка возникает, когда определенный метод, например onPlayerScoreChange, вызывается внутри функции карты, но он не был правильно связан.
В данном приложении React поток данных и иерархия компонентов структурированы следующим образом:
Ошибка возникает из-за того, что метод onPlayerScoreChange неправильно привязан в функции карты в родительском компоненте. Привязка важна при использовании функций в итерациях карты, поскольку контекст функции карты отличается от контекста компонента React. Следовательно, это в функции карты не относится к компоненту React, что приводит к проблемам с доступом к его свойствам.
Существует два распространенных способа решения этой проблемы:
Стрелочные функции неявно связывают контекст компонента. В этом случае следующий код устранит ошибку:
{this.state.initialPlayers.map((player, index) => {
return(
)
})}
Другой подход — явно привязать функцию с помощью метода привязки. Этого можно добиться, передав контекст this компонента в качестве аргумента методу привязки:
{this.state.initialPlayers.map(function(player, index) {
return(
)
})}
Используя любой из этих методов для привязки метода onPlayerScoreChange в итерации карты, ошибка должна быть устранена.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3