Я работаю над React-Native, хочу вызвать функцию из другого класса, но при попытке это сделать возникает ошибка.
Класс A
import B from './B.js';
class A extends Component {
_onItemPressed(item){
B.abc();
}
render() {
return (
<TouchableHighlight
underlayColor={Colors.colors.lightgrey}
style={{padding: 15}}
onPress={this._onItemPressed.bind(this)}>
<Text>Click Me !</Text>
</TouchableHighlight>
);
}
}
Класс B
class B extends Component {
abc(){
alert('Hello World');
}
render() {
return (
<View>
<Text>Welcome to React Native</Text>
</View>
);
}
}
Но после нажатия кнопки в классе A выдается сообщение об ошибке 'undefined is not a function (evaluating 'B.default._abc()')'
Пожалуйста, просмотрите мое сообщение и предложите решение.
Спасибо
Вы не инициируете свой класс, для решения этой проблемы необходимо изменить B.abc()
на new B().abc()
;
Я вижу, что вы не экспортируете класс B, а только импортируете. Попробуйте добавить оператор export
в нижней части файла класса B, например export default B
.
Надеюсь, это поможет