# RN开发指引

# 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

# RN到webview

Navigator.navigateWeb(
  rootTag,
  {
    url: 'https://google.com',
    ... // other params
  }
)
1
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

# 页面新增

# 主入口

需要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
    5
  • step3 src>index.js导入页面

    import './pages/Welcome';
    import './pages/Demo';
    + import './pages/Home'
    
    1
    2
    3
  • step4 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 编号
最后更新时间: 5/18/2021, 7:59:38 PM