typescript 如何在expo路由器中使用useContext?

beq87vna  于 2023-10-22  发布在  TypeScript
关注(0)|答案(2)|浏览(119)

我正在使用新的Expo-Router版本,它使用基于文件的导航我使用React的上下文API + useReducer钩子在应用程序中创建通用语言上下文问题是我不知道在哪里 Package 上下文提供程序,正如我所看到的那样,没有根组件
我的项目结构:

app
    Dashboard.tsx
    index.tsx
    Login.tsx
    Profile.tsx
assets
components
    Button.tsx
    Drawer.tsx
    DrawerItem.tsx
    HR.tsx
    TextField.tsx
forms
    LoginForm.tsx
ts
    declarations.d.ts
.gitignore
app.json
babel.config.js
index.ts
metro.config.js
package.json
tsconfig.json
yarn.lock

index.ts

import "expo-router/entry"

在Github上发现了这个关于同样问题的讨论,但是我没有_layout文件

p5fdfcr1

p5fdfcr11#

在_layout处 Package 您的Provider

<Provider>
   <Stack>
    <Stack.Screen name="(tabs)" />
    <Stack.Screen name="modal" />
  </Stack>
</Provider>
xxe27gdn

xxe27gdn2#

必须有一个top level _layout文件。把它和一个供应商包起来,它应该为你工作。

<AppProvider>
      <Stack initialRouteName="home">
        <Stack.Screen
          name="home"
          options={{
            headerShown: false,
          }}
        />
      </Stack>
</AppProvider>

相关问题