{"id":73432,"date":"2020-01-15T17:48:46","date_gmt":"2020-01-15T12:18:46","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?p=73432"},"modified":"2024-04-12T14:23:12","modified_gmt":"2024-04-12T08:53:12","slug":"example","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/example\/","title":{"rendered":"Example"},"content":{"rendered":"<p><strong>Stateless Example<\/strong><\/p>\n<p>Our first component in the following example is App. This component is owner of Header and Content. We are creating Header and Content separately and just adding it inside JSX tree in our App component. Only App component needs to be exported.<\/p>\n<p><u>App.jsx<\/u><\/p>\n<p>import React from &#8216;react&#8217;;<\/p>\n<p>class App extends React.Component {<\/p>\n<p>render() {<\/p>\n<p>return (<\/p>\n<p>&lt;div&gt;<\/p>\n<p>&lt;Header\/&gt;<\/p>\n<p>&lt;Content\/&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>class Header extends React.Component {<\/p>\n<p>render() {<\/p>\n<p>return (<\/p>\n<p>&lt;div&gt;<\/p>\n<p>&lt;h1&gt;Header&lt;\/h1&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>class Content extends React.Component {<\/p>\n<p>render() {<\/p>\n<p>return (<\/p>\n<p>&lt;div&gt;<\/p>\n<p>&lt;h2&gt;Content&lt;\/h2&gt;<\/p>\n<p>&lt;p&gt;The content text!!!&lt;\/p&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>export default App;<\/p>\n<p>To be able to render this on the page, we need to import it in main.js file and call reactDOM.render(). We already did this while setting the environment.<\/p>\n<p><u>\u00a0<\/u><\/p>\n<p><u>main.js<\/u><\/p>\n<p>import React from &#8216;react&#8217;;<\/p>\n<p>import ReactDOM from &#8216;react-dom&#8217;;<\/p>\n<p>import App from &#8216;.\/App.jsx&#8217;;<\/p>\n<p>ReactDOM.render(&lt;App \/&gt;, document.getElementById(&#8216;app&#8217;));<\/p>\n<p><strong>Stateful Example<\/strong><\/p>\n<p>In this example, we will set the state for owner component (App). The Header component is just added like in the last example since it doesn&#8217;t need any state. Instead of content tag, we are creating table and tbody elements, where we will dynamically insert TableRow for every object from the data array.<\/p>\n<p>It can be seen that we are using EcmaScript 2015 arrow syntax (=&gt;) which looks much cleaner than the old JavaScript syntax. This will help us create our elements with fewer lines of code. It is especially useful when we need to create a list with a lot of items.<\/p>\n<p><u>App.jsx<\/u><\/p>\n<p>import React from &#8216;react&#8217;;<\/p>\n<p>class App extends React.Component {<\/p>\n<p>constructor() {<\/p>\n<p>super();<\/p>\n<p>this.state = {<\/p>\n<p>data:<\/p>\n[<\/p>\n<p>{<\/p>\n<p>&#8220;id&#8221;:1,<\/p>\n<p>&#8220;name&#8221;:&#8221;Foo&#8221;,<\/p>\n<p>&#8220;age&#8221;:&#8221;20&#8243;<\/p>\n<p>},<\/p>\n<p>{<\/p>\n<p>&#8220;id&#8221;:2,<\/p>\n<p>&#8220;name&#8221;:&#8221;Bar&#8221;,<\/p>\n<p>&#8220;age&#8221;:&#8221;30&#8243;<\/p>\n<p>},<\/p>\n<p>{<\/p>\n<p>&#8220;id&#8221;:3,<\/p>\n<p>&#8220;name&#8221;:&#8221;Baz&#8221;,<\/p>\n<p>&#8220;age&#8221;:&#8221;40&#8243;<\/p>\n<p>}<\/p>\n<p>]\n<p>}<\/p>\n<p>}<\/p>\n<p>render() {<\/p>\n<p>return (<\/p>\n<p>&lt;div&gt;<\/p>\n<p>&lt;Header\/&gt;<\/p>\n<p>&lt;table&gt;<\/p>\n<p>&lt;tbody&gt;<\/p>\n<p>{this.state.data.map((person, i) =&gt; &lt;TableRow key = {i}<\/p>\n<p>data = {person} \/&gt;)}<\/p>\n<p>&lt;\/tbody&gt;<\/p>\n<p>&lt;\/table&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>class Header extends React.Component {<\/p>\n<p>render() {<\/p>\n<p>return (<\/p>\n<p>&lt;div&gt;<\/p>\n<p>&lt;h1&gt;Header&lt;\/h1&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>class TableRow extends React.Component {<\/p>\n<p>render() {<\/p>\n<p>return (<\/p>\n<p>&lt;tr&gt;<\/p>\n<p>&lt;td&gt;{this.props.data.id}&lt;\/td&gt;<\/p>\n<p>&lt;td&gt;{this.props.data.name}&lt;\/td&gt;<\/p>\n<p>&lt;td&gt;{this.props.data.age}&lt;\/td&gt;<\/p>\n<p>&lt;\/tr&gt;<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>export default App;<\/p>\n<p>main.js<\/p>\n<p>import React from &#8216;react&#8217;;<\/p>\n<p>import ReactDOM from &#8216;react-dom&#8217;;<\/p>\n<p>import App from &#8216;.\/App.jsx&#8217;;<\/p>\n<p>ReactDOM.render(&lt;App\/&gt;, document.getElementById(&#8216;app&#8217;));<\/p>\n<p>Note \u2212 Notice that we are using key = {i} inside map() function. This will help React to update only the necessary elements instead of re-rendering the entire list when something changes. It is a huge performance boost for larger number of dynamically created elements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stateless Example Our first component in the following example is App. This component is owner of Header and Content. We are creating Header and Content separately and just adding it inside JSX tree in our App component. Only App component needs to be exported. App.jsx import React from &#8216;react&#8217;; class App extends React.Component { render()&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[8528],"tags":[8558],"class_list":["post-73432","page","type-page","status-publish","hentry","category-reactjs","tag-example"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Example - Tutorial<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Example - Tutorial\" \/>\n<meta property=\"og:description\" content=\"Stateless Example Our first component in the following example is App. This component is owner of Header and Content. We are creating Header and Content separately and just adding it inside JSX tree in our App component. Only App component needs to be exported. App.jsx import React from &#8216;react&#8217;; class App extends React.Component { render()...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/example\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T08:53:12+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/example\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/example\/\",\"name\":\"Example - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2020-01-15T12:18:46+00:00\",\"dateModified\":\"2024-04-12T08:53:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/example\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Example - Tutorial","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/example\/","og_locale":"en_US","og_type":"article","og_title":"Example - Tutorial","og_description":"Stateless Example Our first component in the following example is App. This component is owner of Header and Content. We are creating Header and Content separately and just adding it inside JSX tree in our App component. Only App component needs to be exported. App.jsx import React from &#8216;react&#8217;; class App extends React.Component { render()...","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/example\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T08:53:12+00:00","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/example\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/example\/","name":"Example - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2020-01-15T12:18:46+00:00","dateModified":"2024-04-12T08:53:12+00:00","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/example\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Example"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/73432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=73432"}],"version-history":[{"count":4,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/73432\/revisions"}],"predecessor-version":[{"id":75245,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/73432\/revisions\/75245"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=73432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=73432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=73432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}