使用登录按钮时,如何使用react-native-fbsdk自定义登录后的登录页面?
While using login button, how to customise the landing page after login using react-native-fbsdk?
使用this react-native wrapper,我使用登录按钮+访问令牌在文档中实现了登录解决方案。
const FBSDK = require('react-native-fbsdk');
const {
LoginButton,
AccessToken
} = FBSDK;
var Login = React.createClass({
render: function() {
return (
<View>
<LoginButton
publishPermissions={["publish_actions"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
alert(data.accessToken.toString())
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
</View>
);
}
});
结果是一个带有 fb 登录按钮的屏幕,登录时导航到带有注销的页面 button.First 如果我没有为 it.Plus 编写代码,这个注销按钮来自哪里我不知道不需要注销按钮。而不是想显示我的应用程序的主页?我哪里错了?
如果您想在登录后显示主页(并且大概只在您未登录时显示登录页面),您必须自己在您所在的州(或商店)跟踪登录状态。
简单示例:
var Login = React.createClass({
getInitialState() {
return {isLoggedIn: false}
},
render: function() {
if (this.state.isLoggedIn) {
return (
<Text> I'm Logged In! </Text>
)
} else {
return (
<View>
<LoginButton
publishPermissions={["publish_actions"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
this.setState({isLoggedIn: true})
alert(data.accessToken.toString())
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
</View>
);
}
}
});
对于更复杂(和真实)的功能,您可能需要使用 Navigator
使用this react-native wrapper,我使用登录按钮+访问令牌在文档中实现了登录解决方案。
const FBSDK = require('react-native-fbsdk');
const {
LoginButton,
AccessToken
} = FBSDK;
var Login = React.createClass({
render: function() {
return (
<View>
<LoginButton
publishPermissions={["publish_actions"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
alert(data.accessToken.toString())
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
</View>
);
}
});
结果是一个带有 fb 登录按钮的屏幕,登录时导航到带有注销的页面 button.First 如果我没有为 it.Plus 编写代码,这个注销按钮来自哪里我不知道不需要注销按钮。而不是想显示我的应用程序的主页?我哪里错了?
如果您想在登录后显示主页(并且大概只在您未登录时显示登录页面),您必须自己在您所在的州(或商店)跟踪登录状态。
简单示例:
var Login = React.createClass({
getInitialState() {
return {isLoggedIn: false}
},
render: function() {
if (this.state.isLoggedIn) {
return (
<Text> I'm Logged In! </Text>
)
} else {
return (
<View>
<LoginButton
publishPermissions={["publish_actions"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
this.setState({isLoggedIn: true})
alert(data.accessToken.toString())
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
</View>
);
}
}
});
对于更复杂(和真实)的功能,您可能需要使用 Navigator