{"id":5400,"date":"2022-11-29T09:44:50","date_gmt":"2022-11-29T14:44:50","guid":{"rendered":"https:\/\/www.cloudsurph.com\/?p=5400"},"modified":"2022-11-29T09:47:02","modified_gmt":"2022-11-29T14:47:02","slug":"why-composition-is-better-than-inheritance-in-reactjs","status":"publish","type":"post","link":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/","title":{"rendered":"Why Composition is Better than Inheritance in ReactJS"},"content":{"rendered":"<p>In this article, we will show a few problems where developers new to React often reach for inheritance and show how we can solve them with composition.<\/p>\n<p>Here, we can try to define ReactJS: Why composition is better than inheritance in ReactJS? What is inheritance in React? What is the composition in React example? Should I use inheritance or composition? What is the difference between composition and inheritance in React?<\/p>\n<h3>Composition vs Inheritance<\/h3>\n<p>So, ReactJS is a powerful composition model. Also, we recommend using composition instead of inheritance to reuse code between components.<\/p>\n<h3>Containment<\/h3>\n<p>In this containment, some components do not know their children ahead of time.<\/p>\n<h5><em><strong>You can purchase your\u00a0<a href=\"https:\/\/hosting.cloudsurph.com\/\">hosting from Cloudsurph.com<\/a>,\u00a0<a href=\"https:\/\/hosting.cloudsurph.com\/\">Cloudsurph hosting<\/a>\u00a0is a reliable hosting option for business and personal projects. We offer insight and help on system configuration issues and code errors or bugs<\/strong>.<\/em><\/h5>\n<p>So, this is especially common for components like the <strong>Sidebar<\/strong> or <strong>Dialog<\/strong> that represent generic \u201cboxes\u201d.<\/p>\n<p>Now, we recommend that such components use the special <strong>children<\/strong> prop to pass children elements directly into their output:<\/p>\n<pre class=\"prettyprint\">\r\nfunction FancyBorder(props) {\r\n\u00a0 return (\r\n\u00a0 \u00a0 &lt;div className={'FancyBorder FancyBorder-' + props.color}&gt;\r\n\u00a0 \u00a0 \u00a0 {props.children}\r\n\u00a0 \u00a0 &lt;\/div&gt;\r\n\u00a0 );\r\n}\r\n<\/pre>\n<p>This allows, other components to pass arbitrary children to them by nesting the JSX like the below code:<\/p>\n<pre class=\"prettyprint\">\r\nfunction WelcomeDialog() {\r\n\u00a0 return (\r\n\u00a0 \u00a0 &lt;FancyBorder color=\"blue\"&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;h1 className=\"Dialog-title\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 Welcome\r\n\u00a0 \u00a0 \u00a0 &lt;\/h1&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;p className=\"Dialog-message\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 Thank you for visiting our spacecraft!\r\n\u00a0 \u00a0 \u00a0 &lt;\/p&gt;\r\n\u00a0 \u00a0 &lt;\/FancyBorder&gt;\r\n\u00a0 );\r\n}\r\n<\/pre>\n<p>After that, anything inside the <strong>&lt;FancyBorder&gt;<\/strong> JSX tag gets passed into the <strong>FancyBorder<\/strong> component as a children\u2019s prop.<\/p>\n<p>Since the <strong>FancyBorder<\/strong> renders <strong>{props.children}<\/strong> inside a <strong>&lt;div&gt;,<\/strong> also passed the elements that appear in the final output.<\/p>\n<p>While this is less common and sometimes you might need multiple \u201choles\u201d in a component.<\/p>\n<p>In such cases you may come up with your own convention instead of using <strong>children<\/strong> like the below code:<\/p>\n<pre class=\"prettyprint\">\r\nfunction SplitPane(props) {\r\n\u00a0 return (\r\n\u00a0 \u00a0 &lt;div className=\"SplitPane\"&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;div className=\"SplitPane-left\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 {props.left}\r\n\u00a0 \u00a0 \u00a0 &lt;\/div&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;div className=\"SplitPane-right\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 {props.right}\r\n\u00a0 \u00a0 \u00a0 &lt;\/div&gt;\r\n\u00a0 \u00a0 &lt;\/div&gt;\r\n\u00a0 );\r\n}\r\nfunction App() {\r\n\u00a0 return (\r\n\u00a0 \u00a0 &lt;SplitPane\r\n\u00a0 \u00a0 \u00a0 left={\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;Contacts \/&gt;\r\n\u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0 right={\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;Chat \/&gt;\r\n\u00a0 \u00a0 \u00a0 } \/&gt;\r\n\u00a0 );\r\n}\r\n<\/pre>\n<h3>Specialization<\/h3>\n<p>We say that a <strong>WelcomeDialog<\/strong> is a special case of <strong>Dialog<\/strong>.<\/p>\n<p>So, in ReactJS, this is also achieved by composition and where a more \u201cspecific\u201d component renders a more \u201cgeneric\u201d one and configures it with props like the below code:<\/p>\n<p><em><strong>IF you want then buy a good, reliable, secure web\u00a0<a href=\"https:\/\/www.cloudsurph.com\/windows-vps-hosting\/\">hosting<\/a>\u00a0service \u00a0from here:\u00a0<a href=\"https:\/\/hosting.cloudsurph.com\/\">click here<\/a><\/strong><\/em><\/p>\n<pre class=\"prettyprint\">\r\nfunction Dialog(props) {\r\n\u00a0 return (\r\n\u00a0 \u00a0 &lt;FancyBorder color=\"blue\"&gt;\r\n \u00a0 \u00a0 &lt;h1 className=\"Dialog-title\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 {props.title}\r\n\u00a0 \u00a0 \u00a0 &lt;\/h1&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;p className=\"Dialog-message\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 {props.message}\r\n\u00a0 \u00a0 \u00a0 &lt;\/p&gt;<\r\n\u00a0 \u00a0 &lt;\/FancyBorder&gt;\r\n\u00a0 );\r\n}\r\nfunction WelcomeDialog() {\r\n\u00a0 return (\r\n\u00a0 \u00a0 &lt;Dialog\r\n\u00a0 \u00a0 \u00a0 title=\"Welcome\"\r\n\u00a0 \u00a0 \u00a0 message=\"Thank you for visiting Cloudsurph!\" \/&gt;\r\n\u00a0 );\r\n}\r\n<\/pre>\n<p>So, the Composition works equally well for components defined as classes like the below code:<\/p>\n<pre class=\"prettyprint\">\r\nfunction Dialog(props) {\r\n\u00a0 return (\r\n\u00a0 \u00a0 &lt;FancyBorder color=\"blue\"&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;h1 className=\"Dialog-title\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 {props.title}\r\n\u00a0 \u00a0 \u00a0 &lt;\/h1&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;p className=\"Dialog-message\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 {props.message}\r\n\u00a0 \u00a0 \u00a0 &lt;\/p&gt;\r\n\u00a0 \u00a0 \u00a0 {props.children}\r\n\u00a0 \u00a0 &lt;\/FancyBorder&gt;\r\n\u00a0 );\r\n}\r\nclass SignUpDialog extends React.Component {\r\n\u00a0 constructor(props) {\r\n\u00a0 \u00a0 super(props);\r\n\u00a0 \u00a0 this.handleChange = this.handleChange.bind(this);\r\n\u00a0 \u00a0 this.handleSignUp = this.handleSignUp.bind(this);\r\n\u00a0 \u00a0 this.state = {login: ''};\r\n\u00a0 }\r\n\u00a0 render() {\r\n\u00a0 \u00a0 return (\r\n\u00a0 \u00a0 \u00a0 &lt;Dialog title=\"Hosting Exploration Program\"\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 message=\"How should we refer to you?\"&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;input value={this.state.login}\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0onChange={this.handleChange} \/&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;button onClick={this.handleSignUp}&gt;\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Sign Me Up!\r\n\u00a0 \u00a0 \u00a0 \u00a0 &lt;\/button&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;\/Dialog&gt;\r\n\u00a0 \u00a0 );\r\n\u00a0 }\r\n\u00a0 handleChange(e) {\r\n\u00a0 \u00a0 this.setState({login: e.target.value});\r\n\u00a0 }\r\n\u00a0 handleSignUp() {\r\n\u00a0 \u00a0 alert(`Welcome aboard, ${this.state.login}!`);\r\n\u00a0 }\r\n}\r\n<\/pre>\n<p>That\u2019s it. If you enjoyed reading this article and have more questions please reach out to our\u00a0<a href=\"https:\/\/hosting.cloudsurph.com\/submitticket.php?step=2&amp;deptid=1\">support team<\/a>\u00a0via live chat or\u00a0<a href=\"mailto:support@cloudsurph.com\">email<\/a>\u00a0and we would be glad to help you. we provide server\u00a0<a href=\"https:\/\/hosting.cloudsurph.com\/\">hosting<\/a>\u00a0for all types of need and we can even get your\u00a0<a href=\"https:\/\/hosting.cloudsurph.com\/\">server<\/a>\u00a0up and running with the service of your choice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we will show a few problems where developers new to React often reach for inheritance and show how we can solve them with composition. Here, we can try to define ReactJS: Why composition is better than inheritance in ReactJS? What is inheritance in React? What is the composition in React example? Should [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":5401,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[157,25,158,159,151,44,1],"tags":[54,47,105,103,48,113],"class_list":["post-5400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centos-7","category-web-hosting-virtualization","category-linux-basics","category-linux-server","category-react-js","category-kvm-xen","category-virtual-private-servers","tag-best-vps-hosting-server-maryland","tag-cheap-cloud-servers","tag-cheap-storage-server-hosting","tag-cheapest-vps","tag-dedicated-server-hosting-in-washington-d-c","tag-speed-test-vps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Why composition is better than inheritance in ReactJS<\/title>\n<meta name=\"description\" content=\"composition is better than inheritance in ReactJS, inheritance in React, What is the difference between composition and inheritance in React\" \/>\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.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why composition is better than inheritance in ReactJS\" \/>\n<meta property=\"og:description\" content=\"composition is better than inheritance in ReactJS, inheritance in React, What is the difference between composition and inheritance in React\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloudsurph Web Hosting Washington D.C.\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CloudSurph\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-29T14:44:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-29T14:47:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2022\/11\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1264\" \/>\n\t<meta property=\"og:image:height\" content=\"760\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rony\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cloudsurph\" \/>\n<meta name=\"twitter:site\" content=\"@Cloud_Surph\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rony\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/\"},\"author\":{\"name\":\"Rony\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#\\\/schema\\\/person\\\/ac9b4dd136d96e50d5f29c560191e7ed\"},\"headline\":\"Why Composition is Better than Inheritance in ReactJS\",\"datePublished\":\"2022-11-29T14:44:50+00:00\",\"dateModified\":\"2022-11-29T14:47:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/\"},\"wordCount\":408,\"publisher\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cloudsurph.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg\",\"keywords\":[\"Best VPS hosting server Maryland\",\"Cheap Cloud Servers\",\"Cheap Storage Server Hosting\",\"Cheapest VPS\",\"Dedicated Server Hosting in Washington D.C\",\"Speed test VPS\"],\"articleSection\":[\"CentOS 7\",\"Cloud Hosting\",\"Linux Basics\",\"Linux Server\",\"React Js\",\"Virtualization\",\"VPS Servers\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/\",\"url\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/\",\"name\":\"Why composition is better than inheritance in ReactJS\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cloudsurph.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg\",\"datePublished\":\"2022-11-29T14:44:50+00:00\",\"dateModified\":\"2022-11-29T14:47:02+00:00\",\"description\":\"composition is better than inheritance in ReactJS, inheritance in React, What is the difference between composition and inheritance in React\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cloudsurph.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg\",\"contentUrl\":\"https:\\\/\\\/www.cloudsurph.com\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg\",\"width\":1264,\"height\":760,\"caption\":\"Composition vs Inheritance\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/why-composition-is-better-than-inheritance-in-reactjs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cloudsurph.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Composition is Better than Inheritance in ReactJS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#website\",\"url\":\"https:\\\/\\\/www.cloudsurph.com\\\/\",\"name\":\"Cloudsurph Web Hosting Washington D.C.\",\"description\":\"Dedicated Server Hosting\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cloudsurph.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#organization\",\"name\":\"CloudSurph Technology Solutions\",\"url\":\"https:\\\/\\\/www.cloudsurph.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.cloudsurph.com\\\/wp-content\\\/uploads\\\/2016\\\/04\\\/cloudsurph-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.cloudsurph.com\\\/wp-content\\\/uploads\\\/2016\\\/04\\\/cloudsurph-logo.png\",\"width\":2348,\"height\":1692,\"caption\":\"CloudSurph Technology Solutions\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/CloudSurph\\\/\",\"https:\\\/\\\/x.com\\\/Cloud_Surph\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cloudsurph.com\\\/#\\\/schema\\\/person\\\/ac9b4dd136d96e50d5f29c560191e7ed\",\"name\":\"Rony\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/40163fe1eb49d5eddd81954e8ad5122633e141df15b0733d07fbe4a156688ba5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/40163fe1eb49d5eddd81954e8ad5122633e141df15b0733d07fbe4a156688ba5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/40163fe1eb49d5eddd81954e8ad5122633e141df15b0733d07fbe4a156688ba5?s=96&d=mm&r=g\",\"caption\":\"Rony\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/cloudsurph\"],\"url\":\"https:\\\/\\\/www.cloudsurph.com\\\/author\\\/ron\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why composition is better than inheritance in ReactJS","description":"composition is better than inheritance in ReactJS, inheritance in React, What is the difference between composition and inheritance in React","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.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/","og_locale":"en_US","og_type":"article","og_title":"Why composition is better than inheritance in ReactJS","og_description":"composition is better than inheritance in ReactJS, inheritance in React, What is the difference between composition and inheritance in React","og_url":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/","og_site_name":"Cloudsurph Web Hosting Washington D.C.","article_publisher":"https:\/\/www.facebook.com\/CloudSurph\/","article_published_time":"2022-11-29T14:44:50+00:00","article_modified_time":"2022-11-29T14:47:02+00:00","og_image":[{"width":1264,"height":760,"url":"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2022\/11\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg","type":"image\/jpeg"}],"author":"Rony","twitter_card":"summary_large_image","twitter_creator":"@cloudsurph","twitter_site":"@Cloud_Surph","twitter_misc":{"Written by":"Rony","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/#article","isPartOf":{"@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/"},"author":{"name":"Rony","@id":"https:\/\/www.cloudsurph.com\/#\/schema\/person\/ac9b4dd136d96e50d5f29c560191e7ed"},"headline":"Why Composition is Better than Inheritance in ReactJS","datePublished":"2022-11-29T14:44:50+00:00","dateModified":"2022-11-29T14:47:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/"},"wordCount":408,"publisher":{"@id":"https:\/\/www.cloudsurph.com\/#organization"},"image":{"@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2022\/11\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg","keywords":["Best VPS hosting server Maryland","Cheap Cloud Servers","Cheap Storage Server Hosting","Cheapest VPS","Dedicated Server Hosting in Washington D.C","Speed test VPS"],"articleSection":["CentOS 7","Cloud Hosting","Linux Basics","Linux Server","React Js","Virtualization","VPS Servers"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/","url":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/","name":"Why composition is better than inheritance in ReactJS","isPartOf":{"@id":"https:\/\/www.cloudsurph.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/#primaryimage"},"image":{"@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2022\/11\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg","datePublished":"2022-11-29T14:44:50+00:00","dateModified":"2022-11-29T14:47:02+00:00","description":"composition is better than inheritance in ReactJS, inheritance in React, What is the difference between composition and inheritance in React","breadcrumb":{"@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/#primaryimage","url":"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2022\/11\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg","contentUrl":"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2022\/11\/Why-composition-is-better-than-inheritance-in-ReactJS.jpg","width":1264,"height":760,"caption":"Composition vs Inheritance"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cloudsurph.com\/why-composition-is-better-than-inheritance-in-reactjs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cloudsurph.com\/"},{"@type":"ListItem","position":2,"name":"Why Composition is Better than Inheritance in ReactJS"}]},{"@type":"WebSite","@id":"https:\/\/www.cloudsurph.com\/#website","url":"https:\/\/www.cloudsurph.com\/","name":"Cloudsurph Web Hosting Washington D.C.","description":"Dedicated Server Hosting","publisher":{"@id":"https:\/\/www.cloudsurph.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cloudsurph.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.cloudsurph.com\/#organization","name":"CloudSurph Technology Solutions","url":"https:\/\/www.cloudsurph.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cloudsurph.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2016\/04\/cloudsurph-logo.png","contentUrl":"https:\/\/www.cloudsurph.com\/wp-content\/uploads\/2016\/04\/cloudsurph-logo.png","width":2348,"height":1692,"caption":"CloudSurph Technology Solutions"},"image":{"@id":"https:\/\/www.cloudsurph.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CloudSurph\/","https:\/\/x.com\/Cloud_Surph"]},{"@type":"Person","@id":"https:\/\/www.cloudsurph.com\/#\/schema\/person\/ac9b4dd136d96e50d5f29c560191e7ed","name":"Rony","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/40163fe1eb49d5eddd81954e8ad5122633e141df15b0733d07fbe4a156688ba5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/40163fe1eb49d5eddd81954e8ad5122633e141df15b0733d07fbe4a156688ba5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/40163fe1eb49d5eddd81954e8ad5122633e141df15b0733d07fbe4a156688ba5?s=96&d=mm&r=g","caption":"Rony"},"sameAs":["https:\/\/x.com\/cloudsurph"],"url":"https:\/\/www.cloudsurph.com\/author\/ron\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/posts\/5400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/comments?post=5400"}],"version-history":[{"count":1,"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/posts\/5400\/revisions"}],"predecessor-version":[{"id":5402,"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/posts\/5400\/revisions\/5402"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/media\/5401"}],"wp:attachment":[{"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/media?parent=5400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/categories?post=5400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudsurph.com\/wp-json\/wp\/v2\/tags?post=5400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}