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`. Она позволяет поставить в очередь несколько изменений, а затем применить их все одновременно, прежде чем уведомить своих наблюдателей (`observers`). Мы можем представить эту операцию как транзакцию, в которой обновленные значения `Сигналов` не фиксируются до завершения.\n\nВ этом примере мы назначаем оба имени по нажатию кнопки, и это дважды запускает обновление UI. Вы можете увидеть это в консоли, нажав на кнопку. Итак, давайте объединим вызовы `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Этого достаточно для того, чтобы оптимизировать данный пример. Теперь DOM будет обновлен только один раз.";
var reactivity_batch = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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