var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal } 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 } from \"solid-js\";\n\nfunction Counter() {\n  const [count, setCount] = createSignal(0);\n  const doubleCount = () => count() * 2;\n\n  setInterval(() => setCount(count() + 1), 1000);\n\n  return <div>Count: {doubleCount()}</div>;\n}\n\nrender(() => <Counter />, document.getElementById('app'));"
		}
	]
};
var markdown = "JSX で Signal にアクセスすると、その Signal が変化したときに自動的にビューが更新されることを見てきました。しかし、コンポーネント関数自体は一度しか実行されません。\n\nSignal を関数でラップすることで、Signal に依存する新しい式を作ることができます。Signal にアクセスする関数は、実質的に Signal でもあります。ラップされた Signal が変化すると、読み込み側も更新されます。\n\nそれでは、`doubleCount` 関数を導入して、2 倍カウントするように Counter を更新してみましょう:\n\n```jsx\nconst doubleCount = () => count() * 2;\n```\n\nそして、JSX の中で Signal のように `doubleCount` を呼び出すことができます:\n```jsx\nreturn <div>Count: {doubleCount()}</div>;\n```\n\nこのような関数を「派生 Signal」と呼ぶのは、アクセスする Signal からリアクティビティを得るためです。派生 Signal は、それ自体が値を格納するわけではありません（派生 Signal を作成しても一度も呼び出さなければ、未使用の関数と同様に Solid の出力から取り除かれます）が、派生 Signal に依存する Effect を更新したり、ビューに含まれている場合には再レンダリングをトリガーします。\n";
var introduction_derived = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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