React Hooks中使用useContext 进行父组件向子组件传值
关于React Hooks中使用useContext 进行父子组件传值(父子组件不在同一个文件中)
1、封装的公共文件
// createContext.js文件 import { createContext } from "react"; const myContext = createContext(null); export default myContext;
2、父组件
import React, { useState} from "react"; import Counter from './Counter' import myContext from './createContext' function App() { const [count, setCount] = useState(0); return ( <div> <h4>我是父组件</h4> <p>点击了 {count} 次!</p> <button onClick={() => { setCount(count + 1); }} > 点我 </button> {/* 关键代码 */} {/* 提供器 */} <myContext.Provider value={count}> <Counter /> </myContext.Provider> </div> ); } export default App;
3、子组件
import React, { useContext} from 'react'; import myContext from './createContext' // 关键代码 function Counter() { const count = useContext(myContext); // 得到父组件传的值 return ( <div> <h4>我是子组件</h4> <p>这是父组件传过来的值:{count}</p> </div> ) } export default Counter;