#javascript #reactjs #react-native #constructor #expo
Вопрос:
Я продолжаю получать ошибку типа всякий раз, когда пытаюсь скомпилировать в React Native. Вот класс, экземпляр которого я пытаюсь создать:
class GameTeam {
constructor(name, logoLocation)
{
this.name = name;
this.logoLocation = logoLocation;
};
getTeamName() {
return this.name;
}
getTeamLogoLocation() {
return this.logoLocation
}
}
и я просто творю с помощью:
const home = new GameTeam('name', 'null');
Я также попытался изменить const на var, но это ничего не дало.
Если это вообще поможет решить проблему, вот основной файл
import { GameTeam } from './objects/Team'
import React from 'react';
import { Image, StyleSheet, Text, View } from 'react-native';
import { useFonts } from 'expo-font'
import { VersusScore } from './components/VersusScore';
export default function App() {
const home = new GameTeam('Tigers', 'null');
const away = new GameTeam('Raiders', 'null');
return (
<View style={mainStyles.container}>
<View style={mainStyles.topBar}>
<Image style={mainStyles.navIcon_small} source={require('./assets/Icons/Inactive/Settings_Icon.png')} />
<Text style={mainStyles.Title}>BRC</Text>
<Image style={mainStyles.navIcon_small} source={require('./assets/Icons/Inactive/Announcements_Icon.png')} />
</View>
<VersusScore homeTName={home} awayTName={away} />
</View>
);
}
Ответ №1:
Единственное отличие, которое я видел в этом и документах, заключается в том, что в конце конструктора есть;, который может не выдавать синтаксическую ошибку, а также может блокировать его работу
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes
Комментарии:
1. Я вынул это и, к сожалению, все еще получаю ошибку
Ответ №2:
Оказывается, мне нужно было изменить class GameTeam
на export default class GameTeam
в первом файле, так как это был отдельный файл, теперь он выглядит так:
export default class GameTeam {
constructor(name, logoLocation)
{
this.name = name;
this.logoLocation = logoLocation;
}
getTeamName() {
return this.name;
}
getTeamLogoLocation() {
return this.logoLocation
}
}