useContext
编辑此页面用于在上下文提供者作用域内获取上下文,允许深层传递props而无需通过每个组件函数进行传递。
因此,它与 createContext
一起使用,以便从Provider作用域中消费数据,从而避免通过中间组件传递数据(prop钻取)。
const [state, { increment, decrement }] = useContext(CounterContext)
推荐用法
将 useContext
包装在一个函数中通常是个好主意,如下所示:
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