【问题标题】:Why do I need to swipe buttons to make them work?为什么我需要滑动按钮才能使它们起作用?
【发布时间】:2020-08-22 21:20:38
【问题描述】:

我正在 expo 中构建一个简单的应用程序,我在物理设备 android 和 ios 中进行测试,对于 android 工作正常,对于 IOS 如果我转到另一个屏幕我需要滑动按钮使其工作, 我尝试使用 options={{gestureEnabled: false}} 禁用屏幕选项中的手势,还使用以下方法禁用了动画:

<NavigationContainer>
  <Stack.Navigator>
    <Stack.Screen
      name="HomeScreen"
      component={HomeScreen}
      options={{
        animationEnabled: false, // here
      }}
    />
      </Stack.Navigator>
    </NavigationContainer> 

{/* Whole navigation stack */}
<Stack.Navigator screenOptions={{ animationEnabled: false }}></Stack.Navigator>

此代码删除了所有手势和过渡,但我仍然需要在按钮上滑动才能使其工作,这是一种非常奇怪的行为。

我有一个非常基本的带有按钮的主屏幕:

<View style={{width:"100%"}}>
                    <Button
                        title="Test Button"
                        onPress={() => this.btnDoTest()}
                    />
                </View>

而且事件也很基础:

btnDoTest(){
    //
    this.props.navigation.navigate('SecondScreen');
}

这是 package.json:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "test": "jest --watchAll"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo/vector-icons": "^10.0.0",
    "@react-native-community/async-storage": "^1.11.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/bottom-tabs": "^5.6.1",
    "@react-navigation/native": "^5.6.1",
    "@react-navigation/stack": "^5.6.2",
    "axios": "^0.19.2",
    "expo": "~38.0.8",
    "expo-asset": "~8.1.7",
    "expo-constants": "~9.1.1",
    "expo-font": "~8.2.1",
    "expo-linking": "^1.0.1",
    "expo-notifications": "^0.5.0",
    "expo-splash-screen": "~0.3.1",
    "expo-status-bar": "^1.0.2",
    "expo-web-browser": "~8.3.1",
    "moment": "^2.27.0",
    "moment-timezone": "^0.5.31",
    "openpay-react-native": "^1.0.3",
    "react": "~16.11.0",
    "react-dom": "~16.11.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
    "react-native-datepicker": "^1.7.2",
    "react-native-dropdown-autocomplete": "^1.0.18",
    "react-native-elements": "^2.0.4",
    "react-native-gesture-handler": "~1.6.0",
    "react-native-modal": "^11.5.6",
    "react-native-safe-area-context": "~3.0.7",
    "react-native-screens": "~2.9.0",
    "react-native-searchable-dropdown": "^1.1.1",
    "react-native-table-component": "^1.2.1",
    "react-native-web": "~0.11.7",
    "react-navigation-drawer": "^2.5.0",
    "react-navigation-stack": "^2.8.2",
    "react-redux": "^7.2.0",
    "redux": "^4.0.5",
    "redux-logger": "^3.0.6",
    "redux-persist": "6.0.0",
    "redux-thunk": "^2.3.0"
  },
  "devDependencies": {
    "@babel/core": "^7.8.6",
    "@types/react": "~16.9.23",
    "@types/react-native": "~0.62.13",
    "babel-preset-expo": "~8.1.0",
    "jest-expo": "~38.0.0",
    "typescript": "~3.9.5"
  },
  "private": true
}

【问题讨论】:

    标签: ios react-native expo swipe react-native-navigation


    【解决方案1】:

    从头开始重新安装 proyect 并一一添加软件包以检查是否是问题并安装一切正常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-30
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 2019-12-23
      • 1970-01-01
      相关资源
      最近更新 更多