reactjs - Typen '{ children: Element; }' kan inte tilldelas till typen 'IntrinsicAttributes & ReactNode'


Fick det här felet:

Typen '{ children: Element; }' kan inte tilldelas typen 'IntrinsicAttributes & ReactNode'.

export const withAppProvider = (Component: AppComponent) => {
  return function WrapperComponent(props: any) {
    return (
      <AppProvider> // <-- here
        <Component {...props} />
      </AppProvider>
    );
  };
};

Kanske något fel med AppProvider-deklarationen?

export const AppProvider = (children: ReactNode) => {
  const { width, height } = useWindowSize();
  const isClient = useClient();
  const isMobile = isClient ? width < 1200 : false;

  return (
    <AppContext.Provider
      value={{
        isClient,
        isMobile,
      }}
    >
      {children}
    </AppContext.Provider>
  );
};

fick detta med export const AppProvider=(children: React.ReactNode) => {

Type error: Type '{ children: Element; }' is not assignable to type 'IntrinsicAttributes & ReactNode'.
  Type '{ children: Element; }' is missing the following properties from type 'ReactPortal': key, type, props

Svar #1

Om det definieras som children-prop försvinner problemet.

interface IProps {
  children: React.ReactNode;
}
export const AppProvider = ({children}: IProps ) => {}

Relaterade artiklar