{"id":74307,"date":"2020-01-17T12:11:23","date_gmt":"2020-01-17T06:41:23","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?p=74307"},"modified":"2024-04-12T14:23:25","modified_gmt":"2024-04-12T08:53:25","slug":"props-validation","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/","title":{"rendered":"Props Validation"},"content":{"rendered":"<p>Properties validation is a useful way to force the correct usage of the components. This will help during development to avoid future bugs and problems, once the app becomes larger. It also makes the code more readable, since we can see how each component should be used.<\/p>\n<p><strong>Validating Props<\/strong><\/p>\n<p>In this example, we are creating App component with all the props that we need. App.propTypes is used for props validation. If some of the props aren&#8217;t using the correct type that we assigned, we will get a console warning. After we specify validation patterns, we will set App.defaultProps.<\/p>\n<p>App.jsx<\/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;h3&gt;Array: {this.props.propArray}&lt;\/h3&gt;<\/p>\n<p>&lt;h3&gt;Bool: {this.props.propBool ? &#8220;True&#8230;&#8221; : &#8220;False&#8230;&#8221;}&lt;\/h3&gt;<\/p>\n<p>&lt;h3&gt;Func: {this.props.propFunc(3)}&lt;\/h3&gt;<\/p>\n<p>&lt;h3&gt;Number: {this.props.propNumber}&lt;\/h3&gt;<\/p>\n<p>&lt;h3&gt;String: {this.props.propString}&lt;\/h3&gt;<\/p>\n<p>&lt;h3&gt;Object: {this.props.propObject.objectName1}&lt;\/h3&gt;<\/p>\n<p>&lt;h3&gt;Object: {this.props.propObject.objectName2}&lt;\/h3&gt;<\/p>\n<p>&lt;h3&gt;Object: {this.props.propObject.objectName3}&lt;\/h3&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>App.propTypes = {<\/p>\n<p>propArray: React.PropTypes.array.isRequired,<\/p>\n<p>propBool: React.PropTypes.bool.isRequired,<\/p>\n<p>propFunc: React.PropTypes.func,<\/p>\n<p>propNumber: React.PropTypes.number,<\/p>\n<p>propString: React.PropTypes.string,<\/p>\n<p>propObject: React.PropTypes.object<\/p>\n<p>}<\/p>\n<p>App.defaultProps = {<\/p>\n<p>propArray: [1,2,3,4,5],<\/p>\n<p>propBool: true,<\/p>\n<p>propFunc: function(e){return e},<\/p>\n<p>propNumber: 1,<\/p>\n<p>propString: &#8220;String value&#8230;&#8221;,<\/p>\n<p>propObject: {<\/p>\n<p>objectName1:&#8221;objectValue1&#8243;,<\/p>\n<p>objectName2: &#8220;objectValue2&#8221;,<\/p>\n<p>objectName3: &#8220;objectValue3&#8221;<\/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","protected":false},"excerpt":{"rendered":"<p>Properties validation is a useful way to force the correct usage of the components. This will help during development to avoid future bugs and problems, once the app becomes larger. It also makes the code more readable, since we can see how each component should be used. Validating Props In this example, we are creating&#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":[8581],"class_list":["post-74307","page","type-page","status-publish","hentry","category-reactjs","tag-props-validation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Props Validation - 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\/props-validation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Props Validation - Tutorial\" \/>\n<meta property=\"og:description\" content=\"Properties validation is a useful way to force the correct usage of the components. This will help during development to avoid future bugs and problems, once the app becomes larger. It also makes the code more readable, since we can see how each component should be used. Validating Props In this example, we are creating...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/\" \/>\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:25+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/\",\"name\":\"Props Validation - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2020-01-17T06:41:23+00:00\",\"dateModified\":\"2024-04-12T08:53:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Props Validation\"}]},{\"@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":"Props Validation - 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\/props-validation\/","og_locale":"en_US","og_type":"article","og_title":"Props Validation - Tutorial","og_description":"Properties validation is a useful way to force the correct usage of the components. This will help during development to avoid future bugs and problems, once the app becomes larger. It also makes the code more readable, since we can see how each component should be used. Validating Props In this example, we are creating...","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T08:53:25+00:00","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/","name":"Props Validation - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2020-01-17T06:41:23+00:00","dateModified":"2024-04-12T08:53:25+00:00","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/props-validation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Props Validation"}]},{"@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\/74307","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=74307"}],"version-history":[{"count":3,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/74307\/revisions"}],"predecessor-version":[{"id":75263,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/74307\/revisions\/75263"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=74307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=74307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=74307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}