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 = "컨텍스트는 Store를 위한 훌륭한 도구입니다. 인젝션을 처리하고, 소유권을 리액티브 그래프에 연결하고, 자동으로 할당 해제를 관리하며, Solid의 세분화된 렌더링 덕분에 렌더링 오버헤드가 없습니다.\n\n하지만, 간단한 일에 리액티브 시스템을 직접 사용할 수 있습니다. 굳이 지적할 필요는 없지만, 쓰기 가능한 간단한 Store는 Signal일 뿐입니다:\n\n```js\nimport { createSignal } from 'solid-js';\n\nexport default createSignal(0);\n\n// somewhere else:\nimport counter from './counter';\nconst [count, setCount] = counter;\n```\n\nSolid의 반응성은 보편적인 개념입니다. 이것이 컴포넌트 내부에 있는지 외부에 있는지는 중요하지 않습니다. 전역 상태 vs 로컬 상태에 대한 별도의 구분된 개념은 없으며, 모두 같은 것입니다.\n\n유일한 제한 사항은 모든 계산(Effect/Memo)이 리액티브 루트(`createRoot`) 아래에 생성되어야 한다는 점입니다. Solid의 `render`는 이를 자동으로 수행합니다.\n\n이 예제에서는 `counter.tsx`가 전역 Store입니다. `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따라서 계산을 포함하는 더 복잡한 전역 Store를 사용할 때는 루트를 생성해야 합니다. 또는 더 나은 방법으로는 컨텍스트를 사용하세요.\n";
var stores_nocontext = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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