{"id":70,"date":"2026-06-26T13:32:24","date_gmt":"2026-06-26T13:32:24","guid":{"rendered":"https:\/\/aabbee.cafe24.com\/?p=70"},"modified":"2026-06-26T14:02:46","modified_gmt":"2026-06-26T14:02:46","slug":"props-%ec%86%8d%ec%84%b1","status":"publish","type":"post","link":"https:\/\/coalacoding.com\/?p=70","title":{"rendered":"Props (\uc18d\uc131)"},"content":{"rendered":"<h1>1. Props (\uc18d\uc131)<\/h1>\n<p>\ubd80\ubaa8 \ucef4\ud3ec\ub10c\ud2b8\uac00 \uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uac8c \ub370\uc774\ud130\ub97c \uc804\ub2ec\ud558\ub294 \ubc29\ubc95.<\/p>\n<h2>1.1. Props\uc758 \uac1c\ub150<\/h2>\n<p><strong>Props<\/strong>\ub294 Properties(\uc18d\uc131)\uc758 \uc904\uc784\ub9d0\ub85c, <strong>\ubd80\ubaa8 \ucef4\ud3ec\ub10c\ud2b8\uac00 \uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uac8c \ub370\uc774\ud130\ub97c \uc804\ub2ec\ud560 \ub54c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95<\/strong>\uc774\ub2e4.<\/p>\n<blockquote>\n<p><strong>None<\/strong>: \ucef4\ud3ec\ub10c\ud2b8\ub97c <strong>\ud568\uc218<\/strong>\ub77c\uace0 \uc0dd\uac01\ud558\uba74, Props\ub294 \uadf8 \ud568\uc218\uc5d0 \uc804\ub2ec\ud558\ub294 <strong>\ub9e4\uac1c\ubcc0\uc218(\ud30c\ub77c\ubbf8\ud130)<\/strong>\ub2e4.<\/p>\n<pre><code class=\"language-jsx\">\n<\/code><\/pre>\n<\/blockquote>\n<p>\/\/ \uc77c\ubc18 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \ud568\uc218<br \/>\nfunction greet(name) {  \/\/ name\uc740 \ub9e4\uac1c\ubcc0\uc218<br \/>\n  return <code>\uc548\ub155, ${name}!<\/code>;<br \/>\n}<br \/>\ngreet(&quot;\ucca0\uc218&quot;);  \/\/ &quot;\ucca0\uc218&quot;\ub294 \uc778\uc790<\/p>\n<p>\/\/ React \ucef4\ud3ec\ub10c\ud2b8<br \/>\nfunction Greeting(props) {  \/\/ props\ub294 \ub9e4\uac1c\ubcc0\uc218<br \/>\n  return <\/p>\n<h1>\uc548\ub155, {props.name}!<\/h1>\n<p>;<br \/>\n}<br \/>\n<Greeting name=\"\ucca0\uc218\" \/>  \/\/ name=&quot;\ucca0\uc218&quot;\ub294 prop<\/p>\n<pre><code>\n### 1.1.1. \ub370\uc774\ud130 \ud750\ub984: \ub2e8\ubc29\ud5a5 (Top-Down)\n\n&gt; **None**: **React\uc758 \ud575\uc2ec \uc6d0\uce59: \ub2e8\ubc29\ud5a5 \ub370\uc774\ud130 \ud750\ub984**\n&gt; \n&gt; \ub370\uc774\ud130\ub294 **\uc624\uc9c1 \uc704\uc5d0\uc11c \uc544\ub798\ub85c\ub9cc** \ud750\ub978\ub2e4. \ubb3c\uc774 \ub192\uc740 \uacf3\uc5d0\uc11c \ub0ae\uc740 \uacf3\uc73c\ub85c \ud750\ub974\ub294 \uac83\uacfc \uac19\ub2e4.\n&gt; \n&gt; ```jsx\n\/\/ \ud560\uc544\ubc84\uc9c0 \u2192 \uc544\ubc84\uc9c0 \u2192 \uc790\uc2dd \uc21c\uc11c\ub85c \ud750\ub984\nfunction Grandparent() {\n  const data = &quot;\uc911\uc694\ud55c \uc815\ubcf4&quot;;\n  return &lt;Parent info={data} \/&gt;;  \/\/ \uc544\ub798\ub85c \uc804\ub2ec\n}\n\nfunction Parent(props) {\n  return &lt;Child info={props.info} \/&gt;;  \/\/ \ub354 \uc544\ub798\ub85c \uc804\ub2ec\n}\n\nfunction Child(props) {\n  return &lt;div&gt;{props.info}&lt;\/div&gt;;  \/\/ \ucd5c\uc885 \uc0ac\uc6a9\n}\n<\/code><\/pre>\n<blockquote>\n<p>\u26a0\ufe0f <strong>\uc790\uc2dd\uc774 \ubd80\ubaa8\uc5d0\uac8c \uc9c1\uc811 \ub370\uc774\ud130\ub97c \uc804\ub2ec\ud560 \uc218\ub294 \uc5c6\ub2e4!<\/strong><br \/>\n(\ub098\uc911\uc5d0 \ubc30\uc6b8 &quot;\ucf5c\ubc31 \ud568\uc218&quot;\ub97c \ud1b5\ud574 \uac04\uc811\uc801\uc73c\ub85c \uac00\ub2a5)<\/p>\n<\/blockquote>\n<h3>1.1.2. Props\uc758 \ud575\uc2ec \ud2b9\uc9d5<\/h3>\n<ul>\n<li><strong>\uc77d\uae30 \uc804\uc6a9 (Read-Only):<\/strong> \uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8\ub294 \ubc1b\uc740 Props\ub97c <strong>\uc808\ub300 \uc218\uc815\ud560 \uc218 \uc5c6\ub2e4<\/strong>. \uc624\uc9c1 \uc77d\uae30\ub9cc \uac00\ub2a5\ud558\ub2e4.<\/li>\n<li><strong>\uc7ac\uc0ac\uc6a9\uc131:<\/strong> \uac19\uc740 \ucef4\ud3ec\ub10c\ud2b8\uc5d0 \ub2e4\ub978 Props\ub97c \uc804\ub2ec\ud558\uc5ec \ub2e4\uc591\ud55c \uacb0\uacfc\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<\/li>\n<li><strong>\ud0c0\uc785 \uc81c\ud55c \uc5c6\uc74c:<\/strong> \ubb38\uc790\uc5f4, \uc22b\uc790, \ubd88\ub9ac\uc5b8, \uac1d\uccb4, \ubc30\uc5f4, \ud568\uc218 \ub4f1 \ubaa8\ub4e0 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uac12\uc744 \uc804\ub2ec \uac00\ub2a5\ud558\ub2e4.<\/li>\n<\/ul>\n<blockquote>\n<p><strong>Tip<\/strong>: <strong>\uc65c Props\ub97c \uc218\uc815\ud558\uba74 \uc548 \ub420\uae4c?<\/strong><\/p>\n<p>React\ub294 Props\uac00 \ubcc0\ud558\uc9c0 \uc54a\ub294\ub2e4\uace0 \uac00\uc815\ud558\uace0 \ucd5c\uc801\ud654\ub97c \uc218\ud589\ud55c\ub2e4. Props\ub97c \uc218\uc815\ud558\uba74 \uc608\uce21 \ubd88\uac00\ub2a5\ud55c \ubc84\uadf8\uac00 \ubc1c\uc0dd\ud558\uace0 \uc131\ub2a5\uc774 \uc800\ud558\ub41c\ub2e4.<\/p>\n<pre><code class=\"language-jsx\">\n<\/code><\/pre>\n<\/blockquote>\n<p>\/\/ \u274c \uc808\ub300 \ud558\uba74 \uc548 \ub418\ub294 \uac83<br \/>\nfunction Profile(props) {<br \/>\n  props.name = &quot;\ub2e4\ub978 \uc774\ub984&quot;;  \/\/ \uc624\ub958! Props\ub294 \uc77d\uae30 \uc804\uc6a9!<br \/>\n  return <\/p>\n<h1>{props.name}<\/h1>\n<p>;<br \/>\n}<\/p>\n<p>\/\/ \u2705 \uc62c\ubc14\ub978 \ubc29\ubc95: \uc0c8\ub85c\uc6b4 \ubcc0\uc218\ub97c \ub9cc\ub4e4\uc5b4 \uc0ac\uc6a9<br \/>\nfunction Profile(props) {<br \/>\n  const displayName = props.name.toUpperCase();<br \/>\n  return <\/p>\n<h1>{displayName}<\/h1>\n<p>;<br \/>\n}<\/p>\n<pre><code>\n## 1.2. Props \uc804\ub2ec\ud558\uace0 \ubc1b\uae30\n\n### 1.2.1. Props \uc804\ub2ec \ubc29\ubc95 (\ubd80\ubaa8 \u2192 \uc790\uc2dd)\n\nHTML \uc18d\uc131\uc744 \uc4f0\ub294 \uac83\uacfc \ube44\uc2b7\ud558\uac8c \ucef4\ud3ec\ub10c\ud2b8 \ud0dc\uadf8\uc5d0 \uc18d\uc131\uc744 \ucd94\uac00\ud55c\ub2e4.\n\n```jsx\n\/\/ App.jsx (\ubd80\ubaa8 \ucef4\ud3ec\ub10c\ud2b8)\nfunction App() {\n  return (\n    &lt;div&gt;\n      {\/* \ubb38\uc790\uc5f4 prop: \ub530\uc634\ud45c \uc0ac\uc6a9 *\/}\n      &lt;Greeting name=&quot;\uae40\ucca0\uc218&quot; \/&gt;\n\n      {\/* \uc22b\uc790 prop: \uc911\uad04\ud638 \uc0ac\uc6a9 *\/}\n      &lt;Age value={25} \/&gt;\n\n      {\/* \ubd88\ub9ac\uc5b8 prop *\/}\n      &lt;User isAdmin={true} \/&gt;\n      &lt;User isAdmin={false} \/&gt;\n      &lt;User isAdmin \/&gt;  {\/* true\ub294 \uc0dd\ub7b5 \uac00\ub2a5 *\/}\n\n      {\/* \ubc30\uc5f4 prop *\/}\n      &lt;List items={[1, 2, 3, 4, 5]} \/&gt;\n\n      {\/* \uac1d\uccb4 prop *\/}\n      &lt;Profile user={{ name: &quot;\ucca0\uc218&quot;, age: 25 }} \/&gt;\n    &lt;\/div&gt;\n  );\n}\n<\/code><\/pre>\n<p><Notice type=\"tip\" title=\"\ud3ec\uc778\ud2b8\"><\/p>\n<ul>\n<li><strong>\ubb38\uc790\uc5f4:<\/strong> \ub530\uc634\ud45c\ub85c \uac10\uc2f8\uae30 \u2192 <code>name=&quot;\ucca0\uc218&quot;<\/code><\/li>\n<li><strong>\uadf8 \uc678 \ubaa8\ub450:<\/strong> \uc911\uad04\ud638\ub85c \uac10\uc2f8\uae30 \u2192 <code>age={25}<\/code>, <code>isActive={true}<\/code><\/li>\n<\/ul>\n<pre><code class=\"language-jsx\">\/\/ \u274c \uc798\ubabb\ub41c \uc608\n&lt;Age value=&quot;25&quot; \/&gt;  \/\/ \uc22b\uc790\uac00 \uc544\ub2c8\ub77c \ubb38\uc790\uc5f4 &quot;25&quot;\uac00 \uc804\ub2ec\ub428!\n\n\/\/ \u2705 \uc62c\ubc14\ub978 \uc608\n&lt;Age value={25} \/&gt;  \/\/ \uc22b\uc790 25\uac00 \uc804\ub2ec\ub428\n<\/code><\/pre>\n<p><\/Notice><\/p>\n<h3>1.2.2. Props \ubc1b\uae30 (\uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8)<\/h3>\n<p>\uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8 \ud568\uc218\uc758 <strong>\uccab \ubc88\uc9f8 \ub9e4\uac1c\ubcc0\uc218<\/strong>\ub85c props \uac1d\uccb4\ub97c \ubc1b\ub294\ub2e4.<\/p>\n<pre><code class=\"language-jsx\">\/\/ Profile.jsx (\uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8)\nfunction Profile(props) {\n  \/\/ props\ub294 \uac1d\uccb4 \ud615\ud0dc\ub85c \uc804\ub2ec\ub428\n  console.log(props);\n  \/\/ { name: &quot;\uae40\ucca0\uc218&quot;, age: 25, isMember: true }\n\n  return (\n    &lt;div className=&quot;border border-gray-300 p-5 m-2 rounded&quot;&gt;\n      &lt;h2&gt;\uc774\ub984: {props.name}&lt;\/h2&gt;\n      &lt;p&gt;\ub098\uc774: {props.age}\uc138&lt;\/p&gt;\n      &lt;p&gt;\ud68c\uc6d0\uc5ec\ubd80: {props.isMember ? &quot;\uc815\ud68c\uc6d0&quot; : &quot;\uc900\ud68c\uc6d0&quot;}&lt;\/p&gt;\n\n      {\/* props\ub97c \uc774\uc6a9\ud55c \uc870\uac74\ubd80 \ub80c\ub354\ub9c1 *\/}\n      {props.isMember &amp;&amp; &lt;span className=&quot;text-green-500&quot;&gt;\u2713 \uc778\uc99d\ub428&lt;\/span&gt;}\n    &lt;\/div&gt;\n  );\n}\n\nexport default Profile;\n<\/code><\/pre>\n<h3>1.2.3. Props \uc0ac\uc6a9 \uc608\uc81c: \uc7ac\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ubc84\ud2bc<\/h3>\n<h4>Button.jsx<\/h4>\n<pre><code class=\"language-jsx\">import &#39;.\/Button.css&#39;;\n\nfunction Button(props) {\n  \/\/ props\ub85c \ubc84\ud2bc\uc758 \ubaa8\uc591\uacfc \ub3d9\uc791\uc744 \ucee4\uc2a4\ud130\ub9c8\uc774\uc9d5\n  return (\n    &lt;button\n      className={`btn ${props.size === &#39;large&#39; ? &#39;btn-lg&#39; : &#39;&#39;}`}\n      style={{ backgroundColor: props.color || &#39;#007bff&#39; }}\n      onClick={props.onClick}\n      disabled={props.disabled}\n    &gt;\n      {props.text}\n    &lt;\/button&gt;\n  );\n}\n\nexport default Button;\n<\/code><\/pre>\n<h4>Button.css<\/h4>\n<pre><code class=\"language-css\">.btn {\n  color: white;\n  padding: 10px 20px;\n  border: none;\n  border-radius: 5px;\n  font-size: 14px;\n  cursor: pointer;\n}\n\n.btn-lg {\n  font-size: 18px;\n}\n<\/code><\/pre>\n<h4>App.jsx<\/h4>\n<pre><code class=\"language-jsx\">import Button from &#39;.\/Button&#39;;\n\nfunction App() {\n  return (\n    &lt;div&gt;\n      &lt;Button text=&quot;\uae30\ubcf8 \ubc84\ud2bc&quot; \/&gt;\n      &lt;Button text=&quot;\ube68\uac04 \ubc84\ud2bc&quot; color=&quot;red&quot; \/&gt;\n      &lt;Button text=&quot;\ud070 \ubc84\ud2bc&quot; size=&quot;large&quot; color=&quot;#28a745&quot; \/&gt;\n    &lt;\/div&gt;\n  );\n}\n<\/code><\/pre>\n<h2>1.3. \uad6c\uc870 \ubd84\ud574 \ud560\ub2f9 (Destructuring)<\/h2>\n<h3>1.3.1. \uc65c \uad6c\uc870 \ubd84\ud574 \ud560\ub2f9\uc744 \uc0ac\uc6a9\ud560\uae4c?<\/h3>\n<p>\ub9e4\ubc88 <code>props.name<\/code>, <code>props.age<\/code>\ucc98\ub7fc <code>props.<\/code>\ub97c \ubc18\ubcf5\ud558\ub294 \uac83\uc740 \ubc88\uac70\ub86d\ub2e4. \uad6c\uc870 \ubd84\ud574 \ud560\ub2f9\uc744 \uc0ac\uc6a9\ud558\uba74 \ucf54\ub4dc\uac00 <strong>\ud6e8\uc52c \uac04\uacb0<\/strong>\ud574\uc9c4\ub2e4.<\/p>\n<blockquote>\n<p><strong>Info<\/strong>: <strong>Before (props \uac1d\uccb4 \uc0ac\uc6a9)<\/strong><br \/>\n&#8220;`jsx<br \/>\nfunction Profile(props) {<br \/>\n  return (<\/p>\n<div>\n<h2>{props.name}<\/h2>\n<p>\ub098\uc774: {props.age}<\/p>\n<\/p><\/div>\n<p>  );<br \/>\n}<\/p>\n<\/blockquote>\n<pre><code>&gt; \n&gt; **After (\uad6c\uc870 \ubd84\ud574 \ud560\ub2f9 \uc0ac\uc6a9)**\n&gt; ```jsx\nfunction Profile({ name, age }) {\n  return (\n    &lt;div&gt;\n      &lt;h2&gt;{name}&lt;\/h2&gt;\n      &lt;p&gt;\ub098\uc774: {age}&lt;\/p&gt;\n    &lt;\/div&gt;\n  );\n}\n<\/code><\/pre>\n<h2>1.4. Children Props<\/h2>\n<h3>1.4.1. Children\uc774\ub780?<\/h3>\n<p><strong>Children<\/strong>\uc740 \ucef4\ud3ec\ub10c\ud2b8 <strong>\ud0dc\uadf8 \uc0ac\uc774\uc5d0 \ub123\uc740 \ub0b4\uc6a9<\/strong>\uc744 \uc804\ub2ec\ud558\ub294 \ud2b9\ubcc4\ud55c prop\uc774\ub2e4. \uc77c\ubc18 props\uc640 \ub2ec\ub9ac \uc18d\uc131\uc73c\ub85c \uc804\ub2ec\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<blockquote>\n<p><strong>Info<\/strong>: <strong>\uc77c\ubc18 Prop vs Children Prop<\/strong><\/p>\n<pre><code class=\"language-jsx\">\n<\/code><\/pre>\n<\/blockquote>\n<p>\/\/ \uc77c\ubc18 Props: \uc18d\uc131\uc73c\ub85c \uc804\ub2ec<br \/>\n<Button text=\"\ud074\ub9ad\" \/><\/p>\n<p>\/\/ Children: \ud0dc\uadf8 \uc0ac\uc774\uc5d0 \uc804\ub2ec<br \/>\n<Button>\ud074\ub9ad<\/Button><\/p>\n<pre><code>\n### 1.4.2. Children\uc758 \ud65c\uc6a9\n\nCard \uc548\uc5d0 Button\uc744 \ub123\uc5b4\uc11c \ucef4\ud3ec\ub10c\ud2b8\ub97c \uc870\ud569\ud558\ub294 \uc608\uc81c\uc774\ub2e4.\n\n\n\n#### Button.jsx\n\n\n```jsx\nimport &#39;.\/Button.css&#39;;\n\nfunction Button({ children, color }) {\n  return (\n    &lt;button\n      className=&quot;btn&quot;\n      style={{ backgroundColor: color || &#39;#007bff&#39; }}\n    &gt;\n      {children}\n    &lt;\/button&gt;\n  );\n}\n\nexport default Button;\n<\/code><\/pre>\n<h4>Card.jsx<\/h4>\n<pre><code class=\"language-jsx\">import &#39;.\/Card.css&#39;;\n\nfunction Card({ children }) {\n  return (\n    &lt;div className=&quot;card&quot;&gt;\n      {children}\n    &lt;\/div&gt;\n  );\n}\n\nexport default Card;\n<\/code><\/pre>\n<h4>App.jsx<\/h4>\n<pre><code class=\"language-jsx\">import Card from &#39;.\/Card&#39;;\nimport Button from &#39;.\/Button&#39;;\n\nfunction App() {\n  return (\n    &lt;div&gt;\n      {\/* Card \uc548\uc5d0 \ud14d\uc2a4\ud2b8 + Button \uc870\ud569 *\/}\n      &lt;Card&gt;\n        &lt;h2&gt;\ud68c\uc6d0\uac00\uc785&lt;\/h2&gt;\n        &lt;p&gt;\uc544\ub798 \ubc84\ud2bc\uc744 \ub20c\ub7ec \uac00\uc785\ud558\uc138\uc694.&lt;\/p&gt;\n        &lt;Button&gt;\uac00\uc785\ud558\uae30&lt;\/Button&gt;\n      &lt;\/Card&gt;\n\n      &lt;Card&gt;\n        &lt;h2&gt;\uc124\uc815&lt;\/h2&gt;\n        &lt;p&gt;\uacc4\uc815\uc744 \uad00\ub9ac\ud569\ub2c8\ub2e4.&lt;\/p&gt;\n        &lt;Button color=&quot;#28a745&quot;&gt;\uc800\uc7a5&lt;\/Button&gt;\n        &lt;Button color=&quot;red&quot;&gt;\uc0ad\uc81c&lt;\/Button&gt;\n      &lt;\/Card&gt;\n    &lt;\/div&gt;\n  );\n}\n<\/code><\/pre>\n<h4>Button.css<\/h4>\n<pre><code class=\"language-css\">.btn {\n  color: white;\n  padding: 10px 20px;\n  border: none;\n  border-radius: 5px;\n  font-size: 14px;\n  cursor: pointer;\n  margin-right: 8px;\n}\n<\/code><\/pre>\n<h4>Card.css<\/h4>\n<pre><code class=\"language-css\">.card {\n  border: 1px solid #ddd;\n  border-radius: 10px;\n  padding: 20px;\n  margin: 10px;\n  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);\n}\n<\/code><\/pre>\n<h3>1.4.3. React\uc5d0\uc11c \uc790\uc8fc \uc4f0\ub294 \uc5f0\uc0b0\uc790<\/h3>\n<table>\n<thead>\n<tr>\n<th>\uc5f0\uc0b0\uc790<\/th>\n<th>\uc774\ub984<\/th>\n<th>\ub3d9\uc791<\/th>\n<th>\uc608\uc2dc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>||<\/code><\/td>\n<td>OR<\/td>\n<td>\uc67c\ucabd\uc774 falsy\uba74 \uc624\ub978\ucabd \uc0ac\uc6a9<\/td>\n<td><code>color || &#39;#007bff&#39;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>??<\/code><\/td>\n<td>Nullish \ubcd1\ud569<\/td>\n<td>null\/undefined\uc77c \ub54c\ub9cc \uc624\ub978\ucabd \uc0ac\uc6a9<\/td>\n<td><code>name ?? &#39;\uc775\uba85&#39;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>&amp;&amp;<\/code><\/td>\n<td>AND<\/td>\n<td>\uc67c\ucabd\uc774 truthy\uba74 \uc624\ub978\ucabd \ub80c\ub354\ub9c1<\/td>\n<td><code>{isAdmin &amp;&amp; &lt;span&gt;\uad00\ub9ac\uc790&lt;\/span&gt;}<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>? :<\/code><\/td>\n<td>\uc0bc\ud56d<\/td>\n<td>\uc870\uac74\uc5d0 \ub530\ub77c \ub458 \uc911 \ud558\ub098 \uc120\ud0dd<\/td>\n<td><code>{isLogin ? &#39;\ub85c\uadf8\uc544\uc6c3&#39; : &#39;\ub85c\uadf8\uc778&#39;}<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>!<\/code><\/td>\n<td>NOT<\/td>\n<td>\ubd88\ub9ac\uc5b8 \ubc18\uc804<\/td>\n<td><code>{!isLoading &amp;&amp; &lt;List \/&gt;}<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote>\n<p><strong>Tip<\/strong>: Children\uc744 \ud65c\uc6a9\ud558\uba74 <strong>Card \uc548\uc5d0 Button<\/strong>, <strong>Button \uc548\uc5d0 \uc544\uc774\ucf58<\/strong> \ub4f1 \ucef4\ud3ec\ub10c\ud2b8\ub97c \uc790\uc720\ub86d\uac8c \uc870\ud569\ud560 \uc218 \uc788\ub2e4. \uc774\uac83\uc774 React\uc758 <strong>\ud569\uc131(Composition)<\/strong> \ud328\ud134\uc774\ub2e4.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>1. Props (\uc18d\uc131) \ubd80\ubaa8 \ucef4\ud3ec\ub10c\ud2b8\uac00 \uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uac8c \ub370\uc774\ud130\ub97c \uc804\ub2ec\ud558\ub294 \ubc29\ubc95. 1.1. Props\uc758 \uac1c\ub150 Props\ub294 Properties(\uc18d\uc131)\uc758 \uc904\uc784\ub9d0\ub85c, \ubd80\ubaa8 \ucef4\ud3ec\ub10c\ud2b8\uac00 \uc790\uc2dd \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uac8c \ub370\uc774\ud130\ub97c \uc804\ub2ec\ud560 \ub54c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc774\ub2e4. None: \ucef4\ud3ec\ub10c\ud2b8\ub97c \ud568\uc218\ub77c\uace0 \uc0dd\uac01\ud558\uba74, Props\ub294 \uadf8 \ud568\uc218\uc5d0 \uc804\ub2ec\ud558\ub294 \ub9e4\uac1c\ubcc0\uc218(\ud30c\ub77c\ubbf8\ud130)\ub2e4. \/\/ \uc77c\ubc18 \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \ud568\uc218 function greet(name) { \/\/ name\uc740 \ub9e4\uac1c\ubcc0\uc218 return \uc548\ub155, ${name}!; } greet(&quot;\ucca0\uc218&quot;); \/\/ &quot;\ucca0\uc218&quot;\ub294 \uc778\uc790 \/\/ React \ucef4\ud3ec\ub10c\ud2b8 &#8230; <a title=\"Props (\uc18d\uc131)\" class=\"read-more\" href=\"https:\/\/coalacoding.com\/?p=70\" aria-label=\"Props (\uc18d\uc131)\uc5d0 \ub300\ud574 \ub354 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694\">\ub354 \uc77d\uae30<\/a><\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-react-basics"],"_links":{"self":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":1,"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":2245,"href":"https:\/\/coalacoding.com\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/2245"}],"wp:attachment":[{"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coalacoding.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}