aboutsummaryrefslogtreecommitdiff
path: root/test/snippets/react-context-value-func.tsx
blob: 800ad428d7c134676ae5ad18205586dc1cc963c4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// @ts-nocheck
import React from "react";

const Context = React.createContext({});

const ContextProvider = ({ children }) => {
  const [cb, setCB] = React.useState(function () {});
  const foo = true;

  return <Context.Provider value={cb}>{children(foo)}</Context.Provider>;
};

const ContextValue = ({}) => (
  <Context.Consumer>
    {foo => {
      if (foo) {
        return <div>Worked!</div>;
      }

      throw `Value "${foo}"" should be true`;
    }}
  </Context.Consumer>
);

const TestComponent = () => (
  <ContextProvider>
    <ContextValue />
  </ContextProvider>
);

export function test() {
  const foo = <TestComponent />;

  return testDone(import.meta.url);
}