Skip to content

useContext的使用

司徒正美 edited this page May 9, 2019 · 1 revision
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">

 <script src="./dist/React.js"></script>

<script type='text/javascript' src="./lib/babel.js"></script>

</head>

<body>

    <div id='root' class="root">

    </div>
    <script type='text/babel'>

const { createContext, useContext } = React;
const GlobalTheme = createContext();

const Comp1 = () => {
  const anyVar = { color: "red" };

  return (
    <GlobalTheme.Provider value={anyVar}>
      <Layout>
        <AnotherComponent />
      </Layout>
    </GlobalTheme.Provider>
  );
};

const Layout = ({ children }) => {
  const globalStyle = useContext(GlobalTheme);

  return <div style={globalStyle}>{children}</div>;
};

const AnotherComponent = () => {
  return <div> Foo </div>;
};

ReactDOM.render(<Comp1 />, document.getElementById("root"));

    </script>