# RN开发指引
# Navigator
导航
# RN到RN
import { Navigator } from '@shopee/react-native-sdk';
1
推入新页面
Navigator.push( rootTag, //rootTag从页面的props中读取,页面的props已自动注入 packageName, // '@shopee-rn/foody' pageName, // 'WELCOME_PAGE' { foo: 'bar', // propsdata received by target page } );
1
2
3
4
5
6
7
8跳转(清除stack,仅保留主页)
Navigator.jumpRN( rootTag, tab, // 'me', which tab to show for homepage packageName // '@shopee-rn/foody' pageName, // 'WELCOME_PAGE' { foo: 'bar', // propsdata received by target page }, animated, // false );
1
2
3
4
5
6
7
8
9
10
# RN到native
Navigator.navigateAppPath(
rootTag,
path, // 'chat'
{
foo: 'bar', // propsdata received by target page
}
);
1
2
3
4
5
6
7
2
3
4
5
6
7
# RN到webview
Navigator.navigateWeb(
rootTag,
{
url: 'https://google.com',
... // other params
}
)
1
2
3
4
5
6
7
2
3
4
5
6
7
# webview到native
bridgeCallHandler('navigateAppRL', {
apprl: 'rn/@shopee-rn/awesome-plugin/HOME_PAGE',
params: {
foo: 'bar',
},
});
1
2
3
4
5
6
2
3
4
5
6
# 页面新增
# 主入口
需要app配置啥的暂时不知
# 子页面
step1
pages
中新增文件夹Home
页面- 继承
PageComponent
- 使用
PageContainer
生成,用于注册Page
新增
pages>Home>index.js
import { PageComponent } from '@shopee/react-native-sdk'; export default class HomePage extends PageComponent{} PageContainer(MODULES.HOME_PAGE, HomePage);
1
2
3
4- 继承
step2
src/Constants.js
中添加模块名export const MODULES = { WELCOME_PAGE: 'WELCOME_PAGE', DEMO_PAGE: 'DEMO_PAGE', + HOME_PAGE: 'HOME_PAGE', };
1
2
3
4
5step3
src>index.js
导入页面import './pages/Welcome'; import './pages/Demo'; + import './pages/Home'
1
2
3step4 merge远程发包
- 分支名jira版本号命名
- merge时加上单号
[MITRA-27746]
step5 更改version
# git
版本管理
点击查看详情
分支 | 命名 | 说明 |
---|---|---|
master | live-[版本号]-[发布日期]-(hotfix-[Jira单]) | tag命名规范 |
release | release-[版本号]-[发布日期] | 用于uat,从master拉取 |
test | test-[版本号]-[发布日期] | |
feature | feature-MITAR-XXXX-[描述] | 从master拉取,MITRA-XXXX 表示 JIRA 的 TASK 编号 |
hotfix | hotfix-[Bug编号] | 从 master 分支拉取,JIRA 的 BUG 编号 |