从提供程序文件导入提供程序时导入错误

问题描述 投票:0回答:1

[我这里出现类似错误

导入错误:'LanguageProvider'未从'contexts / language / language.provider'中导出。

language.provider.tsx

import React from 'react';
const LanguageContext = React.createContext({} as any);

export const LanguageProvider = ({ children, messages, initLocale }) => {
  const [locale, setLocale] = React.useState(initLocale ?? 'en');
  const changeLanguage = (newLocale): void => {
    ...
  };
  let isRtl = isRTL(locale);

  return (
    <LanguageContext.Provider value={{ locale, changeLanguage, isRtl }}>
      ...
    </LanguageContext.Provider>
  );
};

export const useLocale = () => React.useContext(LanguageContext);

_ app.tsx

import React from "react";
import App from "next/app";
import { LanguageProvider } from "contexts/language/language.provider";

// need to provide types
export default function ExtendedApp({
  Component,
  pageProps,
  userAgent,
  locale,
  query,
}) {
  const deviceType = useDeviceType(userAgent);
  return (
    <ThemeProvider theme={theme}>
      <LanguageProvider messages={messages} initLocale={locale}>
        ...
      </LanguageProvider>
    </ThemeProvider>
  );
}

有人可以帮我吗?

reactjs typescript react-native babel tsx
1个回答
0
投票

我认为您的文件路径错误。在撰写本文时,您正在尝试导入依赖项,它将检查以在node_modules文件夹下找到您的文件。您应该使用类似路径的东西:

import { LanguageProvider } from "./contexts/language/language.provider";
© www.soinside.com 2019 - 2024. All rights reserved.