Я использую React Native для кодирования очень простого приложения базы данных, в котором пользователи могут добавлять свои собственные символы и просматривать их позже.
Моя проблема заключается в следующем.
Часть добавленияперсонаж настраивает свои способности, это делается с помощью React Native Tags , импортированного из Ant Mobile Design.
Ниже показано, как теги отображаются в приложении.
<ScrollView horizontal={true} showsHorizontalScrollIndicator={false}>
<Tag onChange={() => this.handleAbility('Hell')} style={{ marginRight: 7 }}> Hell </Tag>
{this.state.abilities.map(function (ability) {
return <Tag onChange={() =>this.handleAbility(ability.label)} style={{ marginRight: 7 }}> {ability.label} </Tag>
})}
</ScrollView>
и это код для функции handleAbility.
handleAbility = (label) => {
let character = Object.assign({}, this.state.character);
if (character.abilities.indexOf(label) == -1) {
character.abilities.push(label);
this.setState({ character });
} else {
character.abilities.pop();
this.setState({ character });
}
}
Когда я нажимаю на тег, который я написал вручную с тегом «Ад», функция срабатывает успешно, и способность «Ад»подтолкнул к атрибутам персонажа в состоянии приложения. Однако , когда я нажимаю на любой из других тегов, которые были созданы с помощью функции карты, возникает следующая ошибка.Я пробовал несколько способов исправить это безрезультатно, любая помощь приветствуется!