var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport counter from \"./counter\"\n\nfunction Counter() {\n  return (\n    <button type=\"button\">\n      0 0\n    </button>\n  );\n}\n\nrender(() => <Counter />, document.getElementById(\"app\"));\n"
		},
		{
			name: "counter",
			content: "import { createSignal, createMemo, createRoot } from \"solid-js\";\n\nfunction createCounter() {\n  const [count, setCount] = createSignal(0);\n  const increment = () => setCount(count() + 1);\n  const doubleCount = createMemo(() => count() * 2);\n  return { count, doubleCount, increment };\n}\n\nexport default createRoot(createCounter);"
		}
	]
};
var solved = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport counter from \"./counter\"\n\nfunction Counter() {\n  const { count, doubleCount, increment } = counter;\n\n  return (\n    <button type=\"button\" onClick={increment}>\n      {count()} {doubleCount()}\n    </button>\n  );\n}\n\nrender(() => <Counter />, document.getElementById(\"app\"));\n"
		},
		{
			name: "counter",
			content: "import { createSignal, createMemo, createRoot } from \"solid-js\";\n\nfunction createCounter() {\n  const [count, setCount] = createSignal(0);\n  const increment = () => setCount(count() + 1);\n  const doubleCount = createMemo(() => count() * 2);\n  return { count, doubleCount, increment };\n}\n\nexport default createRoot(createCounter);"
		}
	]
};
var markdown = "`Контекст` - отличный инструмент для хранилищ. Он обрабатывает внедрение, создает реактивный графы, автоматически управляет удалением и не имеет никакой цены за использование, учитывая точный рендеринг Solid.\n\nВпрочем, в большинстве случаев вы можете просто использовать Сигналы для простых вещей. Как вы уже могли догадаться, простой `Стор` это просто `Сигнал`:\n\n```js\nimport { createSignal } from 'solid-js';\n\nexport default createSignal(0);\n\n// в любом месте в вашем приложении:\nimport counter from './counter';\nconst [count, setCount] = counter;\n```\n\nРеактивность в Solid это универсальный концепт. Нам не важно, где мы создаем `Сигнал` внутри компонентов или за его границами. В Solid нет разницы между глобальной и локальной областью видимости (`global vs local scope`). Единственным ограничением является то, что все реактивные примитивы (`Сигналы`, `Эффекты`, `Мемо`) должны быть созданы внутри реактивного корня (`createRoot`). Методы `render` в Solid делают это автоматически.\n\nВ этом уроке `counter.tsx` является таким глобальным хранилищем. Мы можем использовать его, изменив наш компонент в main.tsx на:\n\n```jsx\nconst { count, doubleCount, increment } = counter;\n\nreturn (\n  <button type=\"button\" onClick={increment}>\n    {count()} {doubleCount()}\n  </button>\n);\n```\n\nПоэтому при использовании ваших собственных более сложных глобальных хранилищ, содержащих вычисления, обязательно создайте корень. А ещё лучше просто используйте Контекст.";
var stores_nocontext = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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