我在抽屉导航中的屏幕上添加了“呼叫”按钮。 但是,即使我绑定了“ this”以保持其上下文,当我按下“呼叫”按钮时,也会收到“未定义不是对象(评估_this6.App.dialCall。 这是相关的代码:
render() {
return (
<View style={{ flex: 1, backgroundColor: "black", alignItems:
'center', justifyContent: 'center' }}>
<Text style={{backgroundColor: "black", fontSize: 16, color:
"white"}}>Dour services are available 24 hours a day, so you can
truly rely on us.
We will match or try and beat any price.
</Text>
<Button title='Call' onPress={() =>
this.App.dialCall.bind(this)}
/>
</View>
);
(位于抽屉导航中的主屏幕上。 我的函数在主类中:
export default class App extends Component {
dialCall = () => {
let phoneNumber = '';
if (Platform.OS === 'android') {
phoneNumber = 'tel:${1234567890}';
}
else {
phoneNumber = 'telprompt:${1234567890}';
}
Linking.openURL(phoneNumber);
};
render() {
return <AppContainer />;
}
}
答案 0 :(得分:0)
如果您要使用不同类的函数/方法,则必须调用该子类,比如说父类中的类A,比如说它的构造函数中的类B作为对象。
constructor(props) {
super(props);
this.objectOfChildClass = new App();
this.state = {
};
}
完成此操作后,使用this.objectOfChildClass.functionName
此外,当您已经使用胖箭头功能时,不需要绑定功能。它的作用与绑定相同。