a. react-native版本从0.29.0升级到0.45.1后出现下面的错误:
Navigator is deprecated and has been removed from this package.
It can now be installed and imported from react-native-deprecated-custom-components
可知Navigator已被废弃,并从react-native包中移除,若要继续使用则需要改为:
import {Navigator} from 'react-native-deprecated-custom-components';
b. 自定义Navigator 的 configureScene,如下:
CustomizeConfigScene.js:
import {Navigator} from 'react-native-deprecated-custom-components';
export var PushFromRightNoGestures = {
...Navigator.SceneConfigs.PushFromRight,
gestures: {
pop: false,
},
};
在引用的地方如下:
import React, { Component } from 'react';
import {
AppRegistry,
View,
StatusBar,
} from 'react-native';
import {Navigator} from 'react-native-deprecated-custom-components';
import {PushFromRightNoGestures} from './CustomizeNavigatorSceneConfig.js';
import LoginUI from './LoginUI.js';
class AweSomeProject extends Component {
render() {
let defaultName = 'LoginUI';
let defaultComponent = LoginUI;
return (
<Navigator
initialRoute={{name: defaultName, component: defaultComponent}}
configureScene={
(route) => {
//禁止手势返回
return PushFromRightNoGestures;
}
}
renderScene={
(route, navigator) => {
let Component = route.component;
return <Component {...route.params} navigator={navigator}/>
}
}/>
);
}
}
AppRegistry.registerComponent('AweSomeProject', () => AweSomeProject);