标签: react-navigation

react-navigation:禁用模态动画

是否可以禁用 React Navigation 的模态动画?

class HomeScreen extends React.Component {
  static navigationOptions = ({ navigation }) => {
    const params = navigation.state.params || {};

    return {
      headerLeft: (
        <Button
          onPress={() => navigation.navigate('MyModal')}
          title="Info"
          color="#fff"
        />
      ),
      /* the rest of this config is unchanged */
    };
  };

  /* render function, etc */
}

class ModalScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
        <Text style={{ fontSize: 30 }}>This is a modal!</Text>
        <Button
          onPress={() …
Run Code Online (Sandbox Code Playgroud)

react-native react-navigation

3
推荐指数
1
解决办法
5671
查看次数

html标签“/href”和navlink或Link的区别

html标签“/href”和react-router提供的导航页面的navlink有什么区别?我可以使用两者来将页面导航到不同的 URL,那么为什么需要引入 Navlink 或 Link?

reactjs react-redux react-router-v4 react-navigation

3
推荐指数
1
解决办法
5652
查看次数

createMaterialTopTabNavigator 无法在本机反应中的一个屏幕中正确渲染

我正在一个屏幕中实现createMaterialTopTabNavigator,但我的应用程序中没有呈现任何内容。我正在返回 MainNavigator,它是此屏幕的应用程序容器。我是否错误地使用了应用程序容器?如果它是错误的,那么请指导我如何使用抽屉导航器,底部导航器和顶部导航器在应用程序中使用正确的流程进行反应导航。

应用流程

主屏幕导航 > 主作业屏幕 >

主屏导航代码:

import React from "react";
import {createStackNavigator, createAppContainer} from "react-navigation";
import {Signin} from "../screens/Signin";
import {Splash} from '../screens/Splash';
import {HomeScreen} from '../screens/Home/HomeScreen'
import {Profile} from '../screens/Profile/Profile'
import {Notifications} from '../screens/Notifications/Notifications'
import {MainJobScreen} from '../screens/JobFeed/MainJobScreen'

export const MainScreenNavigation = createAppContainer(createStackNavigator({
    Home: {
        screen: Splash
    },
    Signin: {
        screen: Signin
    },
    HomeScreen: {
        screen: HomeScreen
    },
    Profile: {
        screen: Profile
    },
    Notifications: {
        screen: Notifications
    },
    JobFeed: {
        screen: MainJobScreen
    }


})); …
Run Code Online (Sandbox Code Playgroud)

tabs react-native react-navigation

3
推荐指数
1
解决办法
2787
查看次数

在抽屉导航器中卸载或重新渲染屏幕

我最近刚刚添加了抽屉导航器并将我的屏幕包裹在 createDrawerNavigator()

这些是我目前的路线:

  • 主页.js
  • Post.js
  • 设置.js

当用户从Home导航到Post 时,我传递一个包含 post 数据的参数。

onPress={() => this.props.navigation.navigate('Post', {postData: postData})}
Run Code Online (Sandbox Code Playgroud)

当用户从Post返回Home时,post 将被卸载。并在单击另一篇文章时重新安装新数据。

我的问题是,通过实施抽屉,导航回主页时不会卸载帖子屏幕,我一遍又一遍地不断打开第一个帖子的相同道具和屏幕。

这是我的路线设置:

onPress={() => this.props.navigation.navigate('Post', {postData: postData})}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

我希望每个帖子屏幕在从主页导航到它时打开并重新呈现为新的。

react-native react-navigation

3
推荐指数
2
解决办法
9221
查看次数

React Navigation v3 与 React Native Navigation v2

我想要关于这个先前主题的更新。当时,react-native-navigation似乎比React Navigation具有更好的性能。

新版本怎么样?

例如,使用 StackNavigator 会因为推送视图而减慢我的应用程序,我更喜欢使用而this.props.navigation.replace('NewPage')不是this.props.navigation.navigate('NewPage')为了更好的性能。

但是我听说过 react-native-navigation 并且想知道性能方面的差异是否真的相关。

reactjs react-native react-native-navigation react-navigation

3
推荐指数
1
解决办法
1787
查看次数

InitialRouteName: undefined 不是评估 routeConfigs[InitialRouteName].params 的对象

这是 的工作代码块createStackNavigator({...}),其中的块initialRouteName被注释掉。

const navigator = createStackNavigator(
  {
    Event:  Event,
    Signup: Signup,
    Verif1: Verif1,
    Chat: {
      screen: ChatWithSocket,

    } 
  },  /*{
    initialRouteName: Signup,
  }  */
);

const AppContainer = createAppContainer(navigator);
export default AppContainer;  
Run Code Online (Sandbox Code Playgroud)

该应用程序正在运行React Native 0.59.5react navigation 3.9.1。如果initialRoutesName启用了块(注释已删除)。然后它弹出一个错误:

在此处输入图片说明

根据我的在线阅读,问题似乎是React Navigation模块的配置问题。

react-native react-navigation

3
推荐指数
1
解决办法
4536
查看次数

如何弯曲 react-navigation-material-bottom-tabs 的顶部两个角?

我是本机反应的新手,我正在使用react-navigationreact-navigation-material-bottom-tabs

我想要做的就是弯曲底部标签栏的右上角和左上角。

我的代码:

const screen1 = createMaterialBottomTabNavigator(
    {
        Home: {
            screen: HomeScreen,
            style : {
                backgroundColor: 'black'
            }
        },
        About: AboutScreen,
        Scan: ScanScreen,
        Fav: AllScreen
    },
    {
        initialRouteName: "Home",
        activeColor: 'red',
        inactiveColor: 'blue',

        barStyle: {
            borderWidth: 0.5,
            borderBottomWidth: 1,
            backgroundColor: 'white',
            borderBottomLeftRadius: 0,
            borderBottomRightRadius: 0,
            borderTopLeftRadius: 15,
            borderTopRightRadius: 15,
            borderTopColor: '#000',
            borderBottomColor: '#000',
            borderLeftColor: '#000',
            borderRightColor: '#000',
        },
    }
);

Run Code Online (Sandbox Code Playgroud)

react-native react-navigation

3
推荐指数
1
解决办法
2991
查看次数

我无法通过 react navigation v4 解决这个捆绑错误

捆绑失败:错误:无法react-navigation-stackApp.js以下位置解析模块:在项目中找不到 react-navigation-stack。

我尝试删除节点模块并重新安装它们,清除缓存,在新的新项目中尝试相同但没有结果

Package.json 文件

{
  "name": "navigator",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "react": "16.9.0",
    "react-native": "0.61.2",
    "react-native-gesture-handler": "^1.4.1",
    "react-native-reanimated": "^1.3.0",
    "react-native-screens": "1.0.0-alpha.23",
    "react-navigation": "^4.0.10"
  },
  "devDependencies": {
    "@babel/core": "^7.6.2",
    "@babel/runtime": "^7.6.2",
    "@react-native-community/eslint-config": "^0.0.5",
    "babel-jest": "^24.9.0",
    "eslint": "^6.5.1",
    "jest": "^24.9.0",
    "metro-react-native-babel-preset": "^0.56.0",
    "react-test-renderer": "16.9.0"
  },
  "jest": {
    "preset": "react-native"
  }
}
Run Code Online (Sandbox Code Playgroud)

应用程序.js

    import React from 'react';
    import { …
Run Code Online (Sandbox Code Playgroud)

react-native react-navigation react-navigation-stack

3
推荐指数
1
解决办法
2万
查看次数

如何在反应导航抽屉中将背景颜色更改为透明

在此处输入图片说明

大家好,我正在尝试在我的应用程序中添加 react-navigation-drawer,我正面临这个问题。每当我打开抽屉时,背景或背景都会变成不透明的黑色。我尝试添加背景颜色,但对我不起作用。这是我的侧边栏代码:-

import { Text, TouchableOpacity, View,StyleSheet, ScrollView, Dimensions,BackHandler} from "react-native";
import Icon from 'react-native-vector-icons/Entypo';
const { width, height } = Dimensions.get("window");
const window = Dimensions.get("window");
let h = window.height / 812;
let w = window.width / 375;
let p = (h + w) / 2;

export default class SideBar extends Component {
    constructor(props) {
        super(props)
        this.state = {
            refreshing: true,
            index: '',
        }
    }

    componentDidMount() {
        BackHandler.addEventListener("hardwareBackPress", () => this.hardwareBackPress);
    }

    componentWillUnmount() {
        BackHandler.removeEventListener("hardwareBackPress", () => this.hardwareBackPress);
    }

    hardwareBackPress() …
Run Code Online (Sandbox Code Playgroud)

react-native react-navigation react-navigation-drawer

3
推荐指数
1
解决办法
3271
查看次数

反应导航全球 FAB

我正在使用 react-navigation v5 并以App.js这样的方式结束

const MainStack = createStackNavigator();

export default () => (
  <NavigationNativeContainer>
    <MainStack.Navigator
      screenOptions={{
        header: () => <AppbarHeader />,
      }}
    >
      <MainStack.Screen name="index" component={index} />
      <MainStack.Screen name="alternate" component={alternate} />
    </MainStack.Navigator>
  </NavigationNativeContainer>
);
Run Code Online (Sandbox Code Playgroud)

我想添加一个浮动操作(FAB)按钮,该按钮将在indexalternate页面底部可见,允许用户显示当前省略的模态。现在我觉得唯一的解决方案是将我的 FAB 组件放在indexalternate组件中,但这似乎不对,因为它不应该重新渲染并过渡到页面中。它应该漂浮在页面过渡上方。我觉得它应该更像是某种全局导航器,但我不确定它应该如何与上面显示的现有 StackNavigator 一起使用。

我期待着提供任何解决方案。

reactjs floating-action-button react-native react-navigation

3
推荐指数
1
解决办法
1379
查看次数