Facebook Open Source React Native AppRegistry 需要本機代碼的項目 此API僅適用於使用react-native init或使用Create React Native App製作的項目,這些項目已經彈出。有關彈出的詳細信息,請參閱Create React Native App存儲庫中的指南。 AppRegistry是運行所有React Native應用程序的JS入口點。應用程序根組件應該使用AppRegistry.registerComponent註冊自己,然後本機系統可以為應用程序加載包,然後通過調用AppRegistry.runApplication實際運行應用程序。 要在銷毀視圖時“停止”應用程序,請使用傳遞給runApplication的標記調用AppRegistry.unmountApplicationComponentAtRootTag。這些應始終作為一對使用。 應在需求序列的早期需要AppRegistry,以確保在需要其他模塊之前設置JS執行環境。 Methods setWrapperComponentProvider registerConfig registerComponent registerRunnable registerSection getAppKeys getSectionKeys getSections getRunnable getRegistry setComponentProviderInstrumentationHook runApplication unmountApplicationComponentAtRootTag registerHeadlessTask startHeadlessTask 參考 Methods setWrapperComponentProvider() static setWrapperComponentProvider(provider) registerConfig() static registerConfig(config) registerComponent() static registerComponent(appKey, componentProvider, section?) registerRunnable() static registerRunnable(appKey, run) registerSection() static registerSection(appKey, component) getAppKeys() static getAppKeys() getSectionKeys() static getSectionKeys() getSections()...
【React Native】文件翻譯閱讀紀錄 - APIs - Animated
上午9:00 / BY Fu
Facebook Open Source React Native Animated 動畫庫旨在使動畫流暢,強大,易於構建和維護。動畫關注於輸入和輸出之間的聲明關係,其間具有可配置的轉換,以及用於控制基於時間的動畫執行的簡單啟動/停止方法。 創建動畫的最簡單工作流程是創建Animated.Value,將其連接到動畫組件的一個或多個樣式屬性,然後使用Animated.timing()通過動畫驅動更新: Animated.timing( // Animate value over time this.state.fadeAnim, // The value to drive { toValue: 1, // Animate to final value of 1 } ).start(); // Start the animation 請參閱 Animations 指南以查看動畫實際操作的其他示例。 概觀 您可以將兩種值類型與Animated一起使用: Animated.Value() 表示單個值 Animated.ValueXY() 用於向量 Animated.Value可以綁定到樣式屬性或其他道具,也可以插入。單個Animated.Value可以驅動任意數量的屬性。 配置動畫 動畫提供三種類型的動畫類型。每種動畫類型都提供一個特定的動畫曲線,用於控制值從初始值到最終值的動畫效果: Animated.decay()以初始速度開始,逐漸減慢到停止。 Animated.spring()提供了一個簡單的彈簧物理模型。 Animated.timing() 使用緩動函數動畫一段時間的值。 在大多數情況下,您將使用timing()。默認情況下,它使用對稱的easeInOut曲線,將對象的逐漸加速度傳遞到全速,並通過逐漸減速到停止來結束。 使用動畫 通過在動畫上調用start()來啟動動畫。 start()接受一個完成回調,該回調將在動畫完成時調用。如果動畫正常運行,將使用{finished:true}調用完成回調。如果完成動畫是因為在它完成之前調用了stop()(例如因為它被手勢或其他動畫中斷),那麼它將接收{finished:false}。 使用本機驅動程序 通過使用本機驅動程序,我們在開始動畫之前將有關動畫的所有內容髮送到本機,允許本機代碼在UI線程上執行動畫,而無需在每個幀上通過橋接。動畫啟動後,可以阻止JS線程而不影響動畫。 您可以通過在動畫配置中指定useNativeDriver:true來使用本機驅動程序。有關詳細信息,請參閱動畫指南。 動畫組件 只有動畫組件才能動畫。這些特殊組件可以將動畫值綁定到屬性,並進行有針對性的本機更新,以避免每幀反應渲染和協調過程的成本。他們還在卸載時處理清理,因此默認情況下它們是安全的。 createAnimatedComponent() 可用於使組件具有動畫效果。 動畫使用上面的包裝器導出以下可動畫組件: Animated.Image Animated.ScrollView Animated.Text Animated.View 撰寫動畫...