I have a context provider file with the code as below
contexts.tsx
import React from "react";
export const Ordering = React.createContext({
  ordering: false,
});
export const Ordering2 = React.createContext({
  ordering2: true,
});
Since I may have many more contexts, I want to combine/Compose them.
Based on the this question Too many React Context providers the code context combiner is as below
combineComponents.tsx
import React from "react";
interface Props {
  components: Array<React.JSXElementConstructor<React.PropsWithChildren<any>>>;
  children: React.ReactNode;
}
export const Compose = (props: Props) => {
  const { components = [], children, ...rest } = props;
  return (
    <>
      {components.reduceRight((acc, Comp) => {
        return <Comp {...rest}>{acc}</Comp>;
      }, children)}
    </>
  );
};
As mentioned in the solution in the question, I am trying to use this in the App as below but I get the error as shown in the picture
App.tsx
export const App = () => {
    return (
      <Compose components={[Ordering, Ordering2]}>
        <div className="app">
          <EateryInfo orderStatus={Ordering} />
          <MenuButton orderStatus2={Ordering2} />
        </div>
      </Compose>
    );
}
If I do not use the combiner, I use the context providers as below & it works just fine.
Can you please guide me on what is wrong. Thanks.
export const App = () => {
    const [ordering, setOrdering] = useState(false);
   const [ordering2, setOrdering2] = useState(false);
    
  const handleOrdering = () => {
    setOrdering((s) => !s);
    };
    
    const handleOrdering2 = () => {
      setOrdering2((s) => !s);
    };
    return (
        <Ordering.Provider value={{ ordering: ordering }}>
            <Ordering2.Provider value={{ ordering2: ordering2 }}></Ordering2.Provider>
        <div className="app">
          <EateryInfo orderStatus={Ordering} />
          <MenuButton orderStatus2={Ordering2} />
        </div>
      </Ordering.Provider>
    );
}

 
    