Component APIs

useContext

编辑此页面

用于在上下文提供者作用域内获取上下文,允许深层传递props而无需通过每个组件函数进行传递。 因此,它与 createContext 一起使用,以便从Provider作用域中消费数据,从而避免通过中间组件传递数据(prop钻取)。

const [state, { increment, decrement }] = useContext(CounterContext)

推荐用法

useContext 包装在一个函数中通常是个好主意,如下所示:

/context/counter-component.tsx
function useCounterContext() {
const context = useContext(CounterContext)
if (!context) {
throw new Error("useCounterContext: 无法找到 CounterContext")
}
return context
}

请参阅 createContext 的API参考,了解如何生成Provider作用域。 查看 Context概念 以获取更多关于如何构建上下文的信息。


类型签名

import { type Context } from "solid-js"
function useContext<T>(context: Context<T>): T
报告此页面问题