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其中的某些内容,它不会显示任何内容。
我尝试在其中控制台记录一些内容,但它没有显示任何内容。
解决此问题的方法有多种,但我建议您创建一个名为
ProjectProviders.tsx
的文件,并将所有提供程序和其他配置放在那里。还要确保该文件带有子项,以便您可以通过这种方式将插槽包装在根提供程序中
<ProjectProvider>
<Slot />
<ProjectProvider>
我希望这有帮助