Jadi saya memiliki masalah dengan stacknavigator pada aplikasi pameran dan mencoba membuka modal darinya.

Jika modal ada di badan aplikasi, itu berfungsi dengan baik, tanpa masalah, tetapi ketika modal diluncurkan dari layar tumpukan, sebagian besar tampilan hilang dan saat memeriksa, konten ada di sana dan dapat diklik, hanya tidak ditampilkan .

Saya telah menambahkan tangkapan layar dari apa yang saya maksud.

Ini adalah bagian kode yang sama untuk keduanya.

Beginilah cara saya menambahkan modal ke tumpukan

return (
<Stack.Navigator
  screenOptions={headerOptions}
  headerMode="screen"
  initialRouteName={'Home'}
>
  <Stack.Screen
    name="Home"
    component={TabNavigator}
    options={({ navigation, route }) => {
      let tabScene = getTabSceneName(route);
        return {
          headerTitle:
            <View>
              <TouchableOpacity
                onPress={() => setSearchModalVisible(true)}
                activeOpacity={1}
              >
                <View style={styles.searchInputContainer}>
                  <SearchInput
                    pointerEvents="none"
                    placeholder={t('Search')}
                    editable={false}
                  />
                </View>
              </TouchableOpacity>
              <SearchModal
                onItemPress={(product: Product) => {
                  navigation.navigate('ProductDetails', { productHandle: product.handle });
                }}
                onSubmit={(searchKeyword: string) =>
                  navigation.navigate('SearchResults', {
                    searchKeyword,
                  })
                }
                isVisible={isSearchModalVisible}
                setVisible={setSearchModalVisible}
              />
            </View>,
          headerRight: () => (
            <HeaderIconButton
              icon="cart"
              onPress={() => navigation.navigate('ShoppingCart')}
            />
          ),
          headerStyle: {
            shadowColor: COLORS.transparent,
            elevation: 10,
          },
        };
      }
    }}
  />
  <Stack.Screen
    name="Auth"
    component={AuthScene}
    options={() => ({
      title: t('Welcome'),
    })}
  />
  <Stack.Screen
    name="ForgotPassword"
    component={ForgotPasswordScene}
    options={() => ({
      title: t('Forgot Password'),
    })}
  />
</Stack.Navigator>
);
}

Saya telah melampirkan tangkapan layar tentang bagaimana seharusnya dan masalahnya.

Tangkapan layar dari tampilan yang hilang, saat diluncurkan dari layar tumpukan

Tangkapan layar bagaimana tampilannya

0
Johnny Chan 7 Juli 2020, 02:21

1 menjawab

Jawaban Terbaik

Menemukannya ... sepertinya saya menggunakan headerTitle: untuk mengembalikan string. Kesalahan konyol

0
Johnny Chan 8 Juli 2020, 23:28