项目初始化

项目初始化 资源准备

  1. 初始化工程和安装

  2. 完成基础项目配置:名字,图标,应用id

  3. 核对设计稿,准备资源图片,导入图片

项目配置TypeScript

  1. 安装 TypeScript

    npm install --save-dev typescript

  2. 生成tsconfig.json

    1. tsc --init

  3. 安装类型申明(众多)

    npm i --save-dev @types/react @types/react-native

AsyncStorage :数据存储

  1. 集成async-storage

    @react-native-async-storage/async-storage

  2. 保存数据:AsyncStorage.setItem()

  3. 读取数据:AsyncStorage.getItem()

前期重点:路由管理

  1. 集成react-navigation

    1. npm i @react-navigation/bottom-tabs
      npm i @react-navigation/native
      npm i @react-navigation/stack
      npm i react-native-gesture-handler
      npm i react-native-safe-area-context
      npm i react-native-screens

  2. 页面跳转

  3. 页面替换

  4. 页面回退

构建导航栈

  1. 在App.tsx根节点构建导航栈

    import React, { Component } from 'react';
    import type {PropsWithChildren} from 'react';
    import {
      SafeAreaView,
      StatusBar
    } from 'react-native';
    import { SafeAreaProvider } from 'react-native-safe-area-context';
    import  axios  from 'axios';
    import { Button } from '@rneui/base';
    import { NavigationContainer } from '@react-navigation/native';
    import { createStackNavigator } from '@react-navigation/stack';
    ​
    ​
    import PageA from './src/modules/PageA';
    import PageB from './src/modules/PageB';
    ​
    const Stack = createStackNavigator();
    ​
    ​
    function App() : JSX.Element{
    ​
      return (
        <SafeAreaProvider>
          <StatusBar 
            barStyle={'dark-content'}
            backgroundColor={'white'}
          />
          <NavigationContainer>
            <Stack.Navigator initialRouteName='PageA'>
              <Stack.Screen 
                name="PageA"
                component={PageA}
                options={{
    ​
                }}
              />
              <Stack.Screen 
                name="PageB"
                component={PageB}
                options={{
                  
                }}
              />
            </Stack.Navigator>
          </NavigationContainer>
        </SafeAreaProvider>
      );
    }
    ​
    export default App;

  2. 配置导航栈属性

    cardStyle:{elevation:1,} // 页面层级提升一层
    <Stack.Screen 
                name="PageB"
                component={PageB}
                options={{
                  headerShown:false,
                  ...TransitionPresets.RevealFromBottomAndroid, // 页面跳转的过渡
                }}
              />

欢迎页面,登陆页面

  1. 开发欢迎页面,并设置3秒倒计时

  2. 开发登陆页面,并设置3秒倒计时

  3. 三页面连续跳转

细化登录页交互

  1. 显示账号密码输入长度,并对手机号做格式化展示

  2. 密码可见与不可见切换

  3. 登录按钮可点击判断

本地nodejs服务

  1. 为什么使用本地nodejs服务模拟数据

  2. 初识egg.js: 初始化,controller,静态资源

  3. 本地nodejs服务使用方法

封装接口配置

  1. 增加apis接口配置文件

  2. 使用简化接口配置名发起请求

  3. 拦截接口响应

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值