本文整理匯總了TypeScript中react-native-navigation.Navigation類的典型用法代碼示例。如果您正苦於以下問題:TypeScript Navigation類的具體用法?TypeScript Navigation怎麽用?TypeScript Navigation使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Navigation類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: getConstants
export async function getConstants(componentId: string) {
if (Platform.OS === 'ios') {
return NativeModules.RNUeno.getConstantsForComponentId(componentId);
}
return Navigation.constants();
}
示例2:
export const pushMovieScreen = ({
componentId,
movieId,
elementId,
selectedTab,
}: IPushMovieScreenProps) => {
const { posterAnimation } = Store.settings;
Navigation.push(componentId, {
component: {
name: MOVIE,
passProps: {
movieId,
selectedTab,
},
options: (!elementId || !posterAnimation) ? {} : {
animations: {
push: {
waitForRender: true,
enabled: true,
content: {
alpha: {
from: 0,
to: 1,
duration: 250,
},
},
},
},
customTransition: {
animations: [
{
type: 'sharedElement',
fromId: elementId,
toId: 'MOVIE_POSTER',
startDelay: 0,
springVelocity: 0.9,
springDamping: 0.9,
duration: 500 * Platform.select({ ios: 0.001, android: 1 }),
interactivePop: true,
},
],
},
},
},
});
};
示例3: registerScreens
export function registerScreens(store: Redux.Store, Provider: any) {
Navigation.registerComponent('rnts.LoginScreen', () => LoginScreen, store, Provider);
Navigation.registerComponent('rnts.Home', () => HomeScreen, store, Provider);
Navigation.registerComponent('rnts.Favorite', () => FavoriteScreen, store, Provider);
}
示例4:
Screens.forEach((ScreenComponent, key) =>
Navigation.registerComponent(key, () => ScreenComponent));
示例5: require
YellowBox.ignoreWarnings([
'Required dispatch_sync to load constants for CodePush. This may lead to deadlocks',
'RCTBridge required dispatch_sync to load CodePush. This may lead to deadlocks',
]);
// Include devtools
if (__DEV__) {
const { connectToDevTools } = require('mobx-devtools/lib/mobxDevtoolsBackend.js');
connectToDevTools({ host: 'localhost', port: '8098' });
// XMLHttpRequest = (global as any).originalXMLHttpRequest || (global as any).XMLHttpRequest;
}
// Enable LayoutAnimation on android
if (Platform.OS === 'android') {
UIManager.setLayoutAnimationEnabledExperimental(true);
}
// Register screens
Screens.forEach((ScreenComponent, key) =>
Navigation.registerComponent(key, () => ScreenComponent));
// Start application
Navigation.events().registerAppLaunchedListener(() => {
// Hydrate store and start app
Store.hydrate()
.then(theme.update)
.then(startApp);
});
示例6: setVar
import { Navigation } from 'react-native-navigation';
// Add some static re-usable css variables here
setVar('--hairline-width', StyleSheet.hairlineWidth);
// Add themes here
setTheme('default');
setThemeVars('default', {
'--primary-color': '#ff2244',
'--gutter': 8,
});
export default {
async update() {
// Add device width and height
const { width, height } = Dimensions.get('window');
setVar('--window-width', width);
setVar('--window-height', height);
// Add navigation constants
const res = await Navigation.constants();
setVar('--bottom-tabs-height', res.bottomTabsHeight);
setVar('--status-bar-height', res.statusBarHeight);
setVar('--top-bar-height', res.topBarHeight);
// Add dynamic variables here
// ...
return true;
},
};
示例7: async
export const startApp = async () => {
const weekScreen = {
stack: {
id: 'WEEK_SCREEN',
children: [
{
component: {
name: WEEK,
},
},
],
},
};
const comingSoonScreen = {
stack: {
id: 'COMING_SOON_SCREEN',
children: [
{
component: {
name: COMING_SOON,
},
},
],
},
};
const settingsScreen = {
stack: {
id: 'SETTINGS_SCREEN',
children: [
{
component: {
name: SETTINGS,
},
},
],
},
};
if (Platform.OS === 'ios') {
return Navigation.setRoot({
root: {
id: 'ROOT',
bottomTabs: {
id: 'BOTTOM_TABS',
children: [
weekScreen,
comingSoonScreen,
settingsScreen,
],
},
},
});
}
return Navigation.setRoot({
root: {
id: 'ROOT',
sideMenu: {
left: {
component: {
name: MENU,
},
},
center: {
stack: {
id: 'CENTER',
children: weekScreen.stack.children,
},
},
},
},
});
};