构建后,应用程序无法加载<Slot />

问题描述 投票:0回答:1
import { Provider } from "react-redux";
import { PersistGate } from "redux-persist/integration/react";
import { store, persistor } from "./(redux)/store";

import { SafeAreaView } from "react-native-safe-area-context";
import { Redirect, Slot, SplashScreen, useRouter } from "expo-router";

import Toast, { BaseToast } from "react-native-toast-message";

import Header from "../components/Header";
import { View } from "react-native";

SplashScreen.preventAutoHideAsync();

export default function Layout() {
  return (
    <Provider store={store}>
      <PersistGate loading={null} persistor={persistor}>
        <SafeAreaView>
          <Header />
          <Slot />
          <Toast topOffset={150} config={toastConfig} visibilityTime={1000} />
        </SafeAreaView>
      </PersistGate>
    </Provider>
  );
}

const toastConfig = {
  /*
    Overwrite 'success' type,
    by modifying the existing `BaseToast` component
  */
  success: (props) => (
    <BaseToast
      {...props}
      style={{ borderLeftColor: "#4BB543" }}
      contentContainerStyle={{ paddingHorizontal: 15 }}
      text1Style={{
        fontSize: 15,
        fontWeight: "400",
      }}
    />
  ),
};

我有这个使用Expo的代码,但问题似乎是Slot组件,因为如果我尝试console.log其中的某些内容,它不会显示任何内容。

我尝试在其中控制台记录一些内容,但它没有显示任何内容。

react-native expo
1个回答
0
投票

解决此问题的方法有多种,但我建议您创建一个名为

ProjectProviders.tsx
的文件,并将所有提供程序和其他配置放在那里。还要确保该文件带有子项,以便您可以通过这种方式将插槽包装在根提供程序中

<ProjectProvider>
  <Slot />
<ProjectProvider>

我希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.