此次改动主要涉及三个模块:
1、ReactNative的升级
-
组件的替换
例如:ListView、WebView、NetInfo、AsyncStorage、CameraRoll、Clipboard
-
库引用修改
例如: import android.support.annotation.Nullable;改为 import androidx.annotation.Nullable;
-
源文件的改动
第三库的引用和修改,sdk升级、gardle版本升级、eslint升级等
-
JavaScript代码检测 .eslintrc.js文件中需要修改extends。
module.exports = { root: true, extends: '@react-native-community', } -
ios由于版本差异修改了ios/Podfile文件
差别与之前的react-native link
2、react-navigation的升级(此处改动比较到,多关注)
1、页面管理
import { createStackNavigator } from 'react-navigation';
export const Routers = createStackNavigator({...route})
import { createStackNavigator } from "@react-navigation/stack"; <Stack.Navigator> {...route} </Stack.Navigator>
页面组件也有所改动
2、底部导航
import TabNavigator from 'react-native-tab-navigator';
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
const Tab = createBottomTabNavigator();
3、页面导航 Naviagte的修改,包括参数的传递(重点检查一下), push、navigate、reset、resetTo、goBack等的修改
4、切换导航 切换动画,
3、项目目录构建
添加routers目录、route全部牵涉转移到该目录。 Naviagte.js 、Routers.js APP.js