Skip to content

Instantly share code, notes, and snippets.

@YouMinTW
Last active November 10, 2020 06:02
Show Gist options
  • Save YouMinTW/cb3a4569c9aa706efd378ab268fb4cc4 to your computer and use it in GitHub Desktop.
Save YouMinTW/cb3a4569c9aa706efd378ab268fb4cc4 to your computer and use it in GitHub Desktop.
/* eslint-disable */
import React, { useState, useContext } from "react";
import "./styles.css";
export const AppContext = React.createContext();
/* 詳見 MD */
function ContextInput() {
const [context, setContext] = useContext(AppContext);
return (
<div>
<div>Context value: {context}</div>
<input
type="text"
value={context}
onChange={(e) => setContext(e.target.value)}
/>
</div>
);
}
function ContextButton() {
const [_, setContext] = useContext(AppContext);
return (
<button onClick={() => setContext(Math.random().toString())}>
Generate Random number
</button>
);
}
export default function App() {
/* 詳見 MD */
const [context, setContext] = useState("0");
return (
<AppContext.Provider value={[context, setContext]}>
<ContextInput />
<ContextButton />
</AppContext.Provider>
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment