2.16.0-rc.1.0.2 • Published 6 months ago

@ohmi/react-navigation v2.16.0-rc.1.0.2

Weekly downloads
-
License
BSD-2-Clause
Repository
-
Last release
6 months ago

模板版本:v0.2.2

!TIP(https://github.com/react-native-oh-library/react-native-webview)

安装与使用

请到三方库的 Releases 发布地址查看配套的版本信息:react-navigation Releases ,并下载适用版本的 tgz 包。

进入到工程目录并输入以下命令:

npm

npm install @ohmi/react-navigation

yarn

yarn add @ohmi/react-navigation

下面的代码展示了这个库的基本使用场景:

!WARNING 使用时 import 的库名不变。

import { createStackNavigator } from "react-navigation";

const CreateStackNavigatorDemo = createStackNavigator({
  Home: {
    screen: xxx,
  },
  Detail: {
    screen: xxx,
  },
});

export default CreateStackNavigatorDemo;

约束与限制

兼容性

要使用此库,需要使用正确的 React-navigation 和 RNOH 版本。另外,还需要使用配套的 DevEco Studio 和 手机 ROM。

请到三方库相应的 Releases 发布地址查看 Release 配套的版本信息: @react-native-oh-tpl/navigation Releases

Navigation

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

属性/回调

NameDescriptionTypeDefaultRequiredPlatformHarmonyOS Support
navigation.state屏幕当前状态/路由objectnoios/androidyes

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
navigation.navigate页面跳转功能functionnoios/androidyes
navigation.goBack关闭活动页面并返回functionnoios/androidyes
navigation.addListenerkey:willFocus | didFocus | willBlur | didBlurfunctionnoios/androidyes
navigation.isFocused查询屏幕的聚焦状态,返回 true | falsecallbacknoios/androidyes
navigation.setParams对路由参数进行修改/noios/androidyes
navigation.getParam获取路由参数的一个方法。它的作用是从当前路由的参数 (params) 中获取指定的参数值,并且提供一个备用值(fallback),当该参数不存在或未定义时,使用备用值。callbacknoios/androidyes
navigation.pushpush 方法用于将一个新的屏幕(route)推送到当前的堆栈中。和 navigate 不同的是,push 会始终将目标页面推送到堆栈的顶部,即使目标页面已经存在于堆栈中。这样可以在堆栈中存在多个相同的页面。functionnoios/androidyes
navigation.poppop 方法用于回退到堆栈中的前一个页面。如果你提供一个数字参数 n,则表示回退 n 个页面。例如,pop (2) 会回退两个页面。functionnoios/androidyes
navigation.popToTop跳到栈顶页面,清除其他页面functionnoios/androidyes
navigation.replace使用 replace 后,当前页面将被 Profile 页面替代,历史堆栈中不会留下当前页面的记录。functionnoios/androidyes
navigation.reset清空当前的导航堆栈,使用 navigate 动作将 Profile 页面推送到新的堆栈。functionnoios/androidyes
navigation.dismiss关闭当前堆栈,返回父堆栈functionnoios/androidyes
navigation.dispatch你需要自定义行为,dispatch 允许你直接将动作传递给路由器。functionnoios/androidyes
navigation.dangerouslyGetParent获取当前屏幕的父导航器functionnoios/androidyes

StackActions

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
StackActions.push推送操作在堆栈顶部添加一条路线,并向前导航。functionnoios/androidyes
StackActions.poppop 动作用于从栈中返回一个或多个页面,可指定返回页面数量。functionnoios/androidyes
StackActions.replacereplace 动作会替换栈中的某个路由(通常是最顶部的路由)。functionnoios/androidyes
StackActions.popToToppopToTop 动作会将栈中的所有页面都退出,直接跳转到栈顶页面。functionnoios/androidyes

createStackNavigator

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
createStackNavigator为应用程序提供一种在屏幕之间切换过渡的方法,每个新屏幕都放在堆栈的顶部。functionnoios/androidyes

createSwitchNavigator

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
createSwitchNavigatorSwitchNavigator 的目的是一次只显示一个屏幕。functionnoios/androidyes

createDrawerNavigator

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
createDrawerNavigator创建抽屉导航器。functionnoios/androidyes

createTabNavigator

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
createTabNavigator创建Tab导航器。functionnonono

createBottomTabNavigator

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
createBottomTabNavigator屏幕底部的一个简单标签栏,让您在不同路线之间切换。functionnoios/androidyes

createMaterialTopTabNavigator

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
createMaterialTopTabNavigator屏幕顶部的一个以材料设计为主题的标签栏,通过点击路线或水平滑动来切换不同的路线。functionnoios/androidyes

withNavigation

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
withNavigationwithNavigation是一个高阶组件,它将导航属性传递给包装组件。functionnoios/androidyes

withNavigationFocus

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

静态方法

NameDescriptionTypeRequiredPlatformHarmonyOS Support
withNavigationFocuswithNavigationFocus 是一个高阶组件,它将 isFocused 属性传递给包装组件。functionnoios/androidyes

NavigationEvents

!TIP "Platform"列表示该属性在原三方库上支持的平台。

!TIP "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。

组件

NameDescriptionTypeRequiredPlatformHarmonyOS Support
NavigationEventsNavigationEvents 是一个提供声明式 API 用于订阅导航事件的 React 组件。functionnoios/androidyes

遗留问题

其他

开源协议

本项目基于 The MIT License (MIT) ,请自由地享受和参与开源。