react context ref
时间: 2023-10-05 21:13:55 浏览: 194
React Context 是 React 提供的一种跨组件传递数据的方式。在使用 Context 时,有时我们需要获取 Context 的值,我们可以使用 ref 来获取 Context 的值。
首先,我们需要创建一个 Context 对象:
```javascript
const MyContext = React.createContext();
```
然后,在提供 Context 值的组件中,我们可以使用 `useRef` 来创建一个 ref,并将 Context 的值赋给这个 ref:
```javascript
function MyProvider() {
const contextValue = useContext(MyContext);
const contextRef = useRef(contextValue);
// 其他逻辑...
return (
<MyContext.Provider value={contextValue}>
{/* 子组件... */}
</MyContext.Provider>
);
}
```
现在,我们可以在其他组件中访问 Context 的值,通过访问 `contextRef.current` 来获取:
```javascript
function MyConsumer() {
const contextValue = useContext(MyContext);
const contextRef = useRef(contextValue);
console.log(contextRef.current); // 获取 Context 的值
// 其他逻辑...
return (
// JSX...
);
}
```
通过使用 `useRef` 来获取 Context 的值,我们可以在组件中随时访问最新的 Context 值。
阅读全文