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 живет внутри Эффекта и может быть вложенным, мы выделили метод `onCleanup` для удобства использования при очистке. Вы можете вызвать его в любом скоупе, и он будет запущен, когда этот скоуп будет изменен или удален.\n\nЕго можно использовать в компонентах, Эффектах, кастомных директивах — практически в любом синхронном реактивном коде.\n\n`Сигнал` в примере из введения так и не прибрался за собой. Давайте исправим это, заменив вызов `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 };
