var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal, createEffect, untrack } from \"solid-js\";\n\nconst App = () => {\n  const [a, setA] = createSignal(1);\n  const [b, setB] = createSignal(1);\n\n  createEffect(() => {\n    console.log(a(), b());\n  });\n\n  return <>\n    <button onClick={() => setA(a() + 1)}>Increment A</button>\n    <button onClick={() => setB(b() + 1)}>Increment B</button>\n  </>\n};\n\nrender(App, document.getElementById(\"app\"));\n"
		}
	]
};
var solved = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal, createEffect, untrack } from \"solid-js\";\n\nconst App = () => {\n  const [a, setA] = createSignal(1);\n  const [b, setB] = createSignal(1);\n\n  createEffect(() => {\n    console.log(a(), untrack(b));\n  });\n\n  return <>\n    <button onClick={() => setA(a() + 1)}>Increment A</button>\n    <button onClick={() => setB(b() + 1)}>Increment B</button>\n  </>\n};\n\nrender(App, document.getElementById(\"app\"));\n"
		}
	]
};
var markdown = "It's sometimes desirable to have Signal reads not be tracked, even inside a reactive context. Solid provides the `untrack` helper as a way to prevent the wrapping computation from tracking any reads.\n\nLet's suppose we did not want to log in our example when `b` changes. We can untrack the `b` signal by changing our effect to the following:\n\n```js\ncreateEffect(() => {\n  console.log(a(), untrack(b));\n});\n```\nSince Signals are functions, they can be passed directly, but `untrack` can wrap functions with more complex behavior.\n\nEven though `untrack` disables tracking of reads, it has no effect on writes which still happen and notify their observers.\n";
var reactivity_untrack = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

export { reactivity_untrack as default, lesson, markdown, solved };
