React native React Native和此关键字
我正在将Facebook登录集成到我正在构建的React原生应用程序中。我有以下代码:React native React Native和此关键字,react-native,React Native,我正在将Facebook登录集成到我正在构建的React原生应用程序中。我有以下代码: class FacebookButton extends Component { constructor(props) { super(props); this.fetchAccessToken = this.fetchAccessToken.bind(this); } facebookButtonPressed() { LoginManager.logInWithRe
class FacebookButton extends Component {
constructor(props) {
super(props);
this.fetchAccessToken = this.fetchAccessToken.bind(this);
}
facebookButtonPressed() {
LoginManager.logInWithReadPermissions(['public_profile']).then((result) => {
if (result.isCancelled) {
console.log('Login Cancelled');
} else {
this.fetchAccessToken();
}
})
.catch((error) => {
console.log('Login fail with error: ' + error);
});
}
fetchAccessToken() {
AccessToken.getCurrentAccessToken().then((data) => {
const { accessToken } = data
console.log(accessToken);
})
.catch(() => {
console('Error getting access token');
});
}
render() {
return (
<Button
onPress={this.facebookButtonPressed}
title="Sign In with Facebook"
color="#000000"
/>
);
}
}
您还需要将构造函数中的
facebook按钮pressed()
绑定到fetchAccessToken
作为
constructor(props) {
super(props);
this.facebookButtonPressed = this.facebookButtonPressed.bind(this)
this.fetchAccessToken = this.fetchAccessToken.bind(this);
}
调用函数时,将创建一条激活记录,也称为执行上下文,。此记录包含有关从何处调用函数(调用堆栈)、如何调用函数、传递了哪些参数等信息
现在不引用它,除非绑定它
下面是一些不同的方法。这些方法的优点和缺点已经解释过了
此外,您还可以从
constructor(props) {
super(props);
this.facebookButtonPressed = this.facebookButtonPressed.bind(this)
this.fetchAccessToken = this.fetchAccessToken.bind(this);
}