类型“IntrinsicAttributes & IntrinsicClassAttributes<ThemeProvider>”上不存在属性“children”

Ama*_*Jat 5 typescript react-native react-native-elements

ThemeProviderreact-native-elements不允许儿童。

这是代码:

const Root = () => {
  const {theme, isNewUser} = Settings.useContainer();
  const darkMode = useMemo(() => theme === 'dark', [theme]);
  return (
    <ThemeProvider theme={darkMode ? darkTheme : lightTheme} useDark={darkMode}>
      {isNewUser ? <OnboardingStack /> : <BottomTab />}
    </ThemeProvider>
  );
};
Run Code Online (Sandbox Code Playgroud)

ThemeProvider 有红色下划线,悬停时显示

Type '{ children: Element; theme: RCTheme; useDark: boolean; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<ThemeProvider> & Pick<Readonly<ThemeProviderProps>, never> & InexactPartial<...> & InexactPartial<...>'.
  Property 'children' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<ThemeProvider> & Pick<Readonly<ThemeProviderProps>, never> & InexactPartial<...> & InexactPartial<...>'.ts(2322)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

小智 0

type ExistingThemeProviderProps = ComponentProps<typeof ThemeProvider> & {children: ReactNode};
export const ThemeProviderExtended = (props: ExistingThemeProviderProps) => <ThemeProvider {...props}/>
Run Code Online (Sandbox Code Playgroud)

这为我解决了这个问题,直到react-native-elements团队发布类型修复。