ReactJS 是否準備好 有時候我們常常需要監聽 ReactJS 的的載入情況。 比如說,當獲取一條推送,應用還沒有起來,通過點擊推送啟動應用後,而推送中包含一些我們感興趣的欄位需要處理,我們如果直接把這條通知發送給 ReactJS,會有一個問題,就是應用是剛啟動的,ReactJS 還沒有成功載入 ...
ReactJS 是否準備好
有時候我們常常需要監聽 ReactJS 的的載入情況。
比如說,當獲取一條推送,應用還沒有起來,通過點擊推送啟動應用後,而推送中包含一些我們感興趣的欄位需要處理,我們如果直接把這條通知發送給 ReactJS,會有一個問題,就是應用是剛啟動的,ReactJS 還沒有成功載入,推送直接發送會出現丟失。所以我們可以吧這條推送緩存起來,等待 ReactJS 成功載入後再發送。此時可以監聽如下事件,獲悉 ReactJS 的載入狀況。
RCTJavaScriptWillStartLoadingNotification
RCTJavaScriptDidLoadNotification
RCTJavaScriptDidFailToLoadNotification
第三方應用喚起自己應用
應用被URL喚起,
自己的應用A,被其他應用B喚醒,
如果你需要在A應用處理應用B傳遞的過來的參數,需要處理openurl, 參數通過 url 傳遞過來。獲取url 的方法如下
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [RCTLinkingManager application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
}
componentDidMount() {
Linking.addEventListener('url', this._handleOpenURL);
},
componentWillUnmount() {
Linking.removeEventListener('url', this._handleOpenURL);
},
_handleOpenURL(event) {
console.log(event.url);
}
獲取 ReactJS 運行環境
RCTJavaScriptContextCreatedNotification 是一個有意思的通知,React native 是通過 JSContext 來實現 JS 調用 OC 的方法。JSContext 在成功創建後 會發送 RCTJavaScriptContextCreatedNotification 這個通知,並且攜帶 JSContext 參數。OC 可以直接獲得 ReactJS 的運行環境。
作者:HuminiOS - 極光
原文:React Native 一些事
知乎專欄:極光日報