var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal } from \"solid-js\";\n\nfunction Counter() {\n  return <div>Count: 0</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\n  setInterval(() => setCount(count() + 1), 1000);\n\n  return <div>Count: {count()}</div>;\n}\n\nrender(() => <Counter />, document.getElementById('app'));"
		}
	]
};
var markdown = "「Signal」は Solid のリアクティビティの基礎となるものです。これらには、時間とともに変化する値が含まれており、Signal の値を変更すると、それを使用しているすべてのものが自動的に更新されます。\n\nSignal を作成するには、`solid-js` から `createSignal` をインポートして、以下のように Counter コンポーネントから呼び出しましょう:\n```jsx\nconst [count, setCount] = createSignal(0);\n```\n\ncreate コールに渡される引数は初期値で、戻り値はゲッターとセッターの 2 つの関数を持つ配列です。[分割代入](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)によって、これらの関数に好きな名前を付けることができます。この例ではゲッターを `count`、セッターを `setCount` と名付けています。\n\nここで重要なのは、最初に返される値がゲッター（現在の値を返す関数）であり、値そのものではないということです。これはフレームワークが、Signal がどこで読み取られたかを追跡し、それに応じて物事を更新する必要があるためです。\n\nこのレッスンでは、JavaScript の `setInterval` 関数を使って定期的にインクリメントするカウンターを作成します。以下のコードを Counter コンポーネントに追加することで、1 秒ごとに`count` Signal を更新できます:\n\n```jsx\nsetInterval(() => setCount(count() + 1), 1000);\n```\n\n毎回、前回のカウントを読み、1 を加えて、新しい値を設定します。\n\n> Solid の Signal は、前回の値を使って次の値を設定する関数形式も受け付けています。\n> ```jsx\n> setCount(c => c + 1);\n> ```\n\n最後に、JSX コードで Signal を読み取る必要があります:\n\n```jsx\nreturn <div>Count: {count()}</div>;\n```\n";
var introduction_signals = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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