var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal, onCleanup } from \"solid-js\";\n\nfunction Counter() {\n  const [count, setCount] = createSignal(0);\n\n  setInterval(() => setCount(count() + 1), 1000);\n\n  return <div>Count: {count()}</div>;\n}\n\nrender(() => <Counter />, document.getElementById('app'));"
		}
	]
};
var solved = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal, onCleanup } from \"solid-js\";\n\nfunction Counter() {\n  const [count, setCount] = createSignal(0);\n\n  const timer = setInterval(() => setCount(count() + 1), 1000);\n  onCleanup(() => clearInterval(timer));\n\n  return <div>Count: {count()}</div>;\n}\n\nrender(() => <Counter />, document.getElementById('app'));"
		}
	]
};
var markdown = "フレームワークの中には、クリーンアップメソッドを副作用やライフサイクルメソッドの戻り値として組み合わせているものもあります。Solid のレンダーツリー内のすべてのものは、（おそらく不活性な）Effect の中に存在し、ネストできるので、`onCleanup` をファーストクラスのメソッドにしました。任意のスコープでこのメソッドを呼び出すことができ、そのスコープが再評価のトリガーを受けたときや、最終的に廃棄されたときに実行されます。\n\nコンポーネントや Effect の中で使用してください。また、カスタムディレクティブにも使用できます。リアクティブシステムの同期実行の一部となるものであれば、どこでも使用できます。\n\nはじめに紹介した Signal の例では、自分自身の後始末をしませんでした。`setInterval` の呼び出しを次のように置き換えて修正しましょう:\n\n```js\nconst timer = setInterval(() => setCount(count() + 1), 1000);\nonCleanup(() => clearInterval(timer));\n```\n";
var lifecycles_oncleanup = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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