import { jsx, jsxs, Fragment } from 'solid-jsx/jsx-runtime';

/*@jsxRuntime automatic @jsxImportSource solid-jsx*/
const toc = [];
function _createMdxContent(props) {
  const _components = Object.assign({
    p: "p",
    code: "code",
    pre: "pre",
    span: "span"
  }, props.components);
  return jsxs(Fragment, {
    children: [jsxs(_components.p, {
      children: ["たとえリアクティブコンテキスト内であっても、Signal の読み取りを追跡しないことが望ましい場合があります。Solid では、ラッピングの計算で読み取りを追跡しないようにする方法として、", jsx(_components.code, {
        children: "untrack"
      }), " ヘルパーを提供しています。"]
    }), "\n", jsxs(_components.p, {
      children: ["この例では、", jsx(_components.code, {
        children: "b"
      }), " が変更されたときに、ログ出したくないとします。Effect を以下のように変更することで、", jsx(_components.code, {
        children: "b"
      }), " Signal の追跡を解除できます:"]
    }), "\n", jsx(_components.pre, {
      children: jsxs(_components.code, {
        className: "hljs language-js",
        children: [jsx(_components.span, {
          className: "hljs-title function_",
          children: "createEffect"
        }), "(", jsx(_components.span, {
          className: "hljs-function",
          children: "() =>"
        }), " {\n  ", jsx(_components.span, {
          className: "hljs-variable language_",
          children: "console"
        }), ".", jsx(_components.span, {
          className: "hljs-title function_",
          children: "log"
        }), "(", jsx(_components.span, {
          className: "hljs-title function_",
          children: "a"
        }), "(), ", jsx(_components.span, {
          className: "hljs-title function_",
          children: "untrack"
        }), "(b));\n});\n"]
      })
    }), "\n", jsxs(_components.p, {
      children: ["Signal は関数なので直接渡すことができますが、", jsx(_components.code, {
        children: "untrack"
      }), " はより複雑な動作をする関数をラップできます。"]
    }), "\n", jsxs(_components.p, {
      children: [jsx(_components.code, {
        children: "untrack"
      }), " は読み取りの追跡を無効にしますが、書き込みには何の影響もありません。書き込みは依然として発生し、オブザーバーに通知されます。"]
    })]
  });
}
function MDXContent(props = {}) {
  const {wrapper: MDXLayout} = props.components || ({});
  return MDXLayout ? jsx(MDXLayout, Object.assign({}, props, {
    children: jsx(_createMdxContent, props)
  })) : _createMdxContent(props);
}

export { MDXContent as default, toc };
//# sourceMappingURL=lesson-697975db.js.map
