![](/img/trans.png)
[英]React-native-fbsdk ShareDialog. How to share with prefilled message and photos content together?
[英]How to logout from facebook with LoginManager provided by react-native-fbsdk?
簡單來說,如何使用 react-native-fbsdk 提供的 LoginManager 登出?
如果我們查看 react-native-fbsdk 提供的 LoginManager 中的代碼,我們會發現這部分是關於logout 的:
logOut() {
LoginManager.logOut();
},
所以沒有回調,或承諾? 那我該如何真正使用它呢? 如果我調用LoginManager.logout() ,它實際上會執行注銷。 但是由於我不允許傳遞任何回調,並且由於它不返回承諾,那么我怎么知道注銷何時完成,或者是否成功? 我嘗試提供回調,但導致錯誤。 我也試圖從中返回一個承諾,但它也返回了一個錯誤。 所以我不知道這應該如何使用? 不可能是同步注銷吧?
我認為它不是同步功能,但我認為您不需要等待它完成。 您可以將其用作同步。 我在想這是因為如果您檢查react-native-fbsdk
LoginButton
上的默認LoginButton
onLogoutFinished
prop 不會傳遞有關注銷操作的任何參數(成功、失敗等)。 這意味着你可以假設它會毫無問題地發生,因為 facebook 本身就是這么認為的。 默認LoginButton
偵聽事件以運行onLogoutFinished
函數。 如果你真的需要,你可以嘗試實現類似的東西。
對我來說,這有效:
import { LoginManager } from 'react-native-fbsdk'
LoginManager.logOut()
實際上,成功登錄后, acsessToken 變為空。因此,在調用 loginmanager.logout() 后,您可以使用 AccessToken.getCurrentAccessToken() 檢查訪問令牌,如果它為空,則您可以放心地假設注銷已成功發生。
LoginManager.logOut();
const token = await AccessToken.getCurrentAccessToken();
if(_.isEmpty(token) {/* your code for doing logout related actions */}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.