我正在遵循教程中的上下文示例,我从示例中了解到的是使用自定义提供程序:
import { createSignal, createContext, useContext } from "solid-js";
const CounterContext = createContext();
export function CounterProvider(props) {
const [count, setCount] = createSignal(props.count || 0),
counter = [
count,
{
increment() {
setCount((c) => c + 1);
},
decrement() {
setCount((c) => c - 1);
},
},
];
return (
<CounterContext.Provider value={counter}>
{props.children}
</CounterContext.Provider>
);
}
export function useCounter() {
return useContext(CounterContext);
}
Run Code Online (Sandbox Code Playgroud)
我有三个问题:
除了上面的示例之外,我找不到任何有关如何定义自定义上下文提供程序的规范,是否有任何标准或规范可供遵循?
此示例中 CounterContext 和 CounterProvider 之间的绑定在哪里?是在这一行吗?<CounterContext.Provider value={counter}>。与createSignal结合然后在计数器中使用?
所以依赖关系是:createSignal->counter->CounterProvider?