React Context API 是一个在 React 中用于跨组件传递数据的机制。它允许你避免通过多层组件手动传递 props,从而简化组件间的数据传递。
优势
- 无需手动传递 props:Context 提供了一个无需为每层组件手动添加 props,就能在组件树间进行数据传递的方法。
- 树形结构组件共享数据:Context 使得组件树中任意层级的组件都可以访问相同的数据。
使用方法
- 创建一个 Context 对象。
- 使用
React.createContext()
创建一个 Context 对象。 - 将 Context 对象传递给组件树中的
Provider
组件。 - 在
Provider
组件内部,使用value
属性传递数据。 - 在需要数据的组件中,使用
useContext()
钩子获取数据。
示例
import React, { createContext, useContext, useState } from 'react';
const CountContext = createContext();
function App() {
const [count, setCount] = useState(0);
return (
<CountContext.Provider value={{ count, setCount }}>
<Counter />
</CountContext.Provider>
);
}
function Counter() {
const { count, setCount } = useContext(CountContext);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}
export default App;
更多关于 React Context API 的信息,可以查看官方文档。