var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal, batch } from \"solid-js\";\n\nconst App = () => {\n  const [firstName, setFirstName] = createSignal(\"John\");\n  const [lastName, setLastName] = createSignal(\"Smith\");\n  const fullName = () => {\n    console.log(\"Running FullName\");\n    return `${firstName()} ${lastName()}`\n  } \n  const updateNames = () => {\n    console.log(\"Button Clicked\");\n    setFirstName(firstName() + \"n\");\n    setLastName(lastName() + \"!\");\n  }\n  \n  return <button onClick={updateNames}>My name is {fullName()}</button>\n};\n\nrender(App, document.getElementById(\"app\"));\n"
		}
	]
};
var solved = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal, batch } from \"solid-js\";\n\nconst App = () => {\n  const [firstName, setFirstName] = createSignal(\"John\");\n  const [lastName, setLastName] = createSignal(\"Smith\");\n  const fullName = () => {\n    console.log(\"Running FullName\");\n    return `${firstName()} ${lastName()}`\n  } \n  const updateNames = () => {\n    console.log(\"Button Clicked\");\n    batch(() => {\n      setFirstName(firstName() + \"n\");\n      setLastName(lastName() + \"!\");\n    })\n  }\n  \n  return <button onClick={updateNames}>My name is {fullName()}</button>\n};\n\nrender(App, document.getElementById(\"app\"));\n"
		}
	]
};
var markdown = "Solid のリアクティビティは同期的で、変更の次の行で DOM が更新されることになります。Solid のきめ細かいレンダリングは、リアクティブシステムにおける更新の伝搬にすぎないので、ほとんどの場合、これは完全に問題ありません。関連性のない変更が二度「レンダリング」されても、実際には無駄な作業ではありません。\n\nもし変更が関連していたらどうでしょうか？　Solid の `batch` ヘルパーは、複数の変更をキューに入れて、オブザーバーに通知する前にすべてを同時に適用できます。バッチ内では、更新された Signal の値は完了するまでコミットされません。\n\nこの例では、ボタンをクリックしたときに両方の名前を代入していて、レンダリングされた更新を 2 回トリガーしています。ボタンをクリックすると、コンソールにログが表示されます。それでは、`set` の呼び出しを batch でラップしましょう。\n\n```js\n const updateNames = () => {\n    console.log(\"Button Clicked\");\n    batch(() => {\n      setFirstName(firstName() + \"n\");\n      setLastName(lastName() + \"!\");\n    })\n  }\n```\nこれで完了です。これで、チェンジセット全体に対して一度だけ通知するようになりました。\n";
var reactivity_batch = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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