UNPKG

rn-project

Version:

#### 项目介绍 类似一个脚手架的工具 此项目致力于构建一套基础,简单,可维护的 适配我司的react-native项目。可在此基础上搭建项目,封装了基础架构,基础组件,以及各种交互等;可快速进行项目搭建,开发。 # 涉及主要技术 - 1. 项目主要架构 * react native * react-navigation * redux

201 lines (192 loc) 4.45 kB
import { createStackNavigator, createSwitchNavigator } from 'react-navigation'; import Main from './main'; import LoginScreen from './pages/login'; import Base from './pages/base'; import Icon from './pages/icon'; import ButtonScreen from './pages/button'; import InputScreen from './pages/input'; import Web from './pages/web'; import RadioScreen from './pages/radio'; import SwitchScreen from './pages/switch'; import TextareaScreen from './pages/textarea'; import OptionScreen from './pages/option'; import ToastScreen from './pages/toast'; import ModalScreen from './pages/modal'; import ActionSheetScreen from './pages/actionSheet'; import LoadingScreen from './pages/loading'; import CallUs from './pages/callUs'; import Utils from './pages/utilcomponet'; import Origin from './pages/origin'; import MarqueeScreen from './pages/marqueeLable'; import PwdScreen from './pages/password'; import ListScreen from './pages/list'; const removeHeader = () => ({ //需要在 SafeAreaView 手动添加 forceInset={{ top: 'never' }},将状态栏占位去除 header: null, }); const commonNavigationOptions = { headerStyle: { backgroundColor: '#fff', }, headerTintColor: '#000', headerTitleStyle: { fontWeight: 'bold', }, }; const AppStack = createStackNavigator( { Main: { screen: Main, navigationOptions: removeHeader, }, LoginScreen: { screen: LoginScreen, navigationOptions: removeHeader, }, Base: { screen: Base, navigationOptions: () => ({ title: '基础组件', }), }, Icon: { screen: Icon, navigationOptions: () => ({ title: '公共Icon库', }), }, ButtonScreen: { screen: ButtonScreen, navigationOptions: () => ({ title: 'Button组件', }), }, InputScreen: { screen: InputScreen, navigationOptions: () => ({ title: 'input组件', }), }, RadioScreen: { screen: RadioScreen, navigationOptions: () => ({ title: 'Radio组件', }), }, SwitchScreen: { screen: SwitchScreen, navigationOptions: () => ({ title: 'switch组件', }), }, TextareaScreen: { screen: TextareaScreen, navigationOptions: () => ({ title: 'textarea组件', }), }, OptionScreen: { screen: OptionScreen, navigationOptions: () => ({ title: '操作反馈', }), }, ToastScreen: { screen: ToastScreen, navigationOptions: () => ({ title: 'toast提示', }), }, ModalScreen: { screen: ModalScreen, navigationOptions: () => ({ title: 'Modal模态框', }), }, ActionSheetScreen: { screen: ActionSheetScreen, navigationOptions: () => ({ title: 'action-sheet动作面板', }), }, LoadingScreen: { screen: LoadingScreen, navigationOptions: () => ({ title: 'Loading加载', }), }, CallUs: { screen: CallUs, navigationOptions: () => ({ title: '联系我们', }), }, Utils: { screen: Utils, navigationOptions: () => ({ title: '工具组件', }), }, Origin: { screen: Origin, navigationOptions: () => ({ title: '原生部分', }), }, MarqueeScreen: { screen: MarqueeScreen, navigationOptions: () => ({ title: '跑马灯', }), }, PwdScreen: { screen: PwdScreen, navigationOptions: () => ({ title: '安全键盘', }), }, ListScreen: { screen: ListScreen, navigationOptions: () => ({ title: '列表组件', }), }, Web: { screen: Web, navigationOptions: ({ navigation }) => ({ title: navigation.getParam('title') || '', }), }, // TestScreen: { // screen: TestScreen, // navigationOptions: () => ({ // title: '测试', // }), // }, }, { initialRouteName: 'Main', navigationOptions: commonNavigationOptions, }, ); const AuthStack = createStackNavigator( { Main: { screen: Main, navigationOptions: removeHeader, }, }, { initialRouteName: 'Main', }, ); export default createSwitchNavigator( //每次只显示一个screen { App: AppStack, Auth: AuthStack, }, { initialRouteName: 'App', }, );