小编Typ*_*ypo的帖子

SolidJS 上下文提供程序规范

我正在遵循教程中的上下文示例,我从示例中了解到的是使用自定义提供程序:

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)

我有三个问题:

  1. 除了上面的示例之外,我找不到任何有关如何定义自定义上下文提供程序的规范,是否有任何标准或规范可供遵循?

  2. 此示例中 CounterContext 和 CounterProvider 之间的绑定在哪里?是在这一行吗?<CounterContext.Provider value={counter}>。与createSignal结合然后在计数器中使用?

所以依赖关系是:createSignal->counter->CounterProvider?

  1. 我找不到任何关于具有更复杂对象的 createContext 的 jsx 格式的上下文示例,只能使用打字稿语法 …

javascript jsx solid-js

4
推荐指数
1
解决办法
2627
查看次数

标签 统计

javascript ×1

jsx ×1

solid-js ×1