{"id":3884,"date":"2020-05-25T11:48:18","date_gmt":"2020-05-25T06:18:18","guid":{"rendered":"https:\/\/www.concettolabs.com\/blog\/?p=3884"},"modified":"2020-05-25T11:48:18","modified_gmt":"2020-05-25T06:18:18","slug":"beginners-guide-to-understanding-redux-with-react","status":"publish","type":"post","link":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/","title":{"rendered":"A Beginner\u2019s Guide to Understanding Redux with React"},"content":{"rendered":"<p>There was one developer who was new to React and was thrown into the Redux project. He has no idea about how to navigate. He looked for all sorts of online tutorials for better understanding. The concept and somehow things didn\u2019t go well with him. There were lots of unanswered queries in his mind, such as:<\/p>\n<ul>\n<li>What is Redux?<\/li>\n<li>it&#8217;s basic should I know in Redux without React?<\/li>\n<li>What are the essential components used in Redux?<\/li>\n<li>What\u2019s its workflow?<\/li>\n<li>How do I integrate Redux into React Project?<\/li>\n<li>If you\u2019re a developer and struggling with learning Redux?<\/li>\n<\/ul>\n<p>Fear not, it might seem fiddly at first but will get simpler with the practice. Over here, we present a complete guide for beginners. We make sure that by the end of this tutorial, you\u2019ll be able to use Redux in all your projects very well. Let\u2019s jump in\u2026<\/p>\n<p>Some developers think they would learn Redux as they used <a href=\"https:\/\/www.concettolabs.com\/reactjs-development-company\" target=\"_blank\" rel=\"nofollow\"><strong>ReactJS Development Services<\/strong><\/a>. But it\u2019s not right yet to assume that if you understand React\u2019s state system, then you\u2019ll get Redux quickly. Some learners can get this easily, and some take time in figuring it out. So be well-prepared from first.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"What_is_Redux\"><\/span><strong>What is Redux?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Redux is a state container for JavaScript applications. It was initially created by Dan Abramov and Andrew Clark. In React to web development, you manage the state at a component level and pass the state around via props. But with Redux, the entire state manages in one immutable object. At every update, redux state results in section\u2019s copy and new change loads.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Why_should_we_use_React-Redux\"><\/span><strong>Why should we use React-Redux?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Firstly, it might seem a little confusing to use Redux in a React application. React is great and allows you to write a complete application using nothing but react. As the app gets more complex, it uses a simple format to use plain old react. By using state management libraries like Redux, a few complex issues can solve easily. Read some of the common benefits of Redux listed below:<\/p>\n<ul>\n<li><strong>Predictable State Updates:<\/strong> Easy to understand. It explains how data flow will work in the application.<\/li>\n<li><strong>Pure Reducer Functions<\/strong>: Make use of more reducer functions for easier testing. It enables useful features like time-travel debugging.<\/li>\n<li><strong>Centralized State:<\/strong> Make it easier to install things like logging changes to the data. Or persisting date created by combining page refreshes.<\/li>\n<\/ul>\n<p>Advantages of Redux to maintain state in React Application<\/p>\n<h2><span class=\"ez-toc-section\" id=\"MasterDetail_Views\"><\/span><strong>Master\/Detail Views<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Some components need to access the same state but display differently. A classic example is the master view that allows listing the items and show few summary values for each item. It displays components which show all details of the currently selected item.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3885 size-full\" title=\"Master\/Detail Views\" src=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/1.1-2.png\" alt=\"Master\/Detail Views\" width=\"1006\" height=\"923\" srcset=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/1.1-2.png 1006w, https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/1.1-2-300x275.png 300w, https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/1.1-2-768x705.png 768w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><\/p>\n<p style=\"text-align: center;\">Source:\u00a0<a href=\"https:\/\/www.newline.co\/\" target=\"_blank\" rel=\"nofollow\">https:\/\/www.newline.co\/<\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Who_owns_the_data\"><\/span><strong>Who owns the data?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The question here is from where the data should live? To have two data at times can make things go messy. So, we need to keep our data in sync. Ideally, when two children need to access the same data, Redux provides \u2018lift the state up\u2019. It put data in the nearest ancestor of two components. The closest would pass the data down as props. Through several intermediate components along the way.<\/p>\n<p>Passing pros can confuse at times. There is a coupling between the components and their parent. Component\u2019s children that are moving props to. It could be performance issues. And since every update of data would cause all children to re-render.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Understanding_How_Redux_Works\"><\/span>Understanding How Redux Works<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>There is a central store that will hold the entire state of the application. Each of them stores state without having it spend down props from one component to another. Generally, there are three building parts: Actions, Store, and Reducers. Let\u2019s discuss each in brief:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"1_Actions_in_Redux\"><\/span><strong>1.\u00a0<\/strong><strong>Actions in Redux:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Actions are events, and the only way to send data is from the application to your Redux store. The actions are sent using the store.dispatch() method.Actions. These are plain JavaScript objects. It might use type property to indicate the type of action to use. It must have a payload that contains data that works by Action. Which is created by action creator, Check the example:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"586\">{<\/p>\n<p>type: &#8220;LOGIN&#8221;,<\/p>\n<p>payload: {<\/p>\n<p>username: &#8220;foo&#8221;,<\/p>\n<p>password: &#8220;bar&#8221;<\/p>\n<p>}<\/p>\n<p>}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Here\u2019s how action creator works:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"586\">const setLoginStatus = (name, password) =&gt; {<\/p>\n<p>return {<\/p>\n<p>type: &#8220;LOGIN&#8221;,<\/p>\n<p>payload: {<\/p>\n<p>username: &#8220;foo&#8221;,<\/p>\n<p>password: &#8220;bar&#8221;<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span class=\"ez-toc-section\" id=\"2_Reducer_in_Redux\"><\/span><strong>2.\u00a0<\/strong><strong>Reducer in Redux<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The reducer takes the current state of applications, performs an action, and returns a new state. So, we call Reducer a pure function. The states are stored as objects. It explains how the state changes its response to an action sent to the store.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"586\">const LoginComponent = (state = initialState, action) =&gt; {<\/p>\n<p>switch (action.type) {<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/ This reducer handles any action with type &#8220;LOGIN&#8221;<\/p>\n<p>case &#8220;LOGIN&#8221;:<\/p>\n<p>return state.map(user =&gt; {<\/p>\n<p>if (user.username !== action.username) {<\/p>\n<p>return user;<\/p>\n<p>}<\/p>\n<p>if (user.password == action.password) {<\/p>\n<p>return {<\/p>\n<p>&#8230;user,<\/p>\n<p>login_status: &#8220;LOGGED IN&#8221;<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>});<\/p>\n<p>default:<\/p>\n<p>return state;<\/p>\n<p>}<\/p>\n<p>};<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>A reducer is a pure function, they do not change the data in the object passed in them. Nor do they produce any side effects. Hence, it proves that the same objects will yield identical results.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3_Store_in_Redux\"><\/span><strong>3.\u00a0<\/strong><strong>Store in Redux<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In any redux application, there is only one store that holds the application state. One can access the state stored easily. One can update the state and register\/unregister the listeners using helper methods. Let\u2019s create a store for our login app:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"586\">const store = createStore(LoginComponent);<\/p>\n<p>&nbsp;<\/p>\n<p>Remember that actions performed on the state always return a new state and is very to predict. Let\u2019s check how redux can improve the component.<\/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;Status user={this.props.user.name}\/&gt;<\/p>\n<p>&lt;Login login={this.props.setLoginStatus}\/&gt;<\/p>\n<p>&lt;\/div&gt;<\/p>\n<p>)<\/p>\n<p>}<\/p>\n<p>}<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>In redux, each component has access to the state. Which eliminates the need to pass state from one component to another continuously. If you\u2019re using redux with react, there is no longer a need to lift up. Therefore, it makes it easier for you to trace the actions for any change. Components need not provide any state or method. For its children components and share data among themselves. Redux can handle everything with ease.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_one_can_implement_Redux_in_its_application\"><\/span><strong>How one can implement Redux in its application?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Install Redux and React-Redux<\/li>\n<li>Create a Reducer<\/li>\n<li>Create a store passing in that reducer<\/li>\n<li>Wrap your app in a provider passing in the store<\/li>\n<li>Create a mapStateToProps function<\/li>\n<li>Create a mapDispatchToProps function<\/li>\n<li>Connect your app to Redux store<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Wrap_up\"><\/span><strong>Wrap up<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you\u2019re looking to modernize how to debug your redux app. Then, <a href=\"https:\/\/www.concettolabs.com\/hire-reactjs-developer\" target=\"_blank\" rel=\"nofollow\"><strong>hire\u00a0ReactJS developer<\/strong><\/a> that is providing the best ReactJS development services. We are one of the best <a href=\"https:\/\/www.concettolabs.com\/reactjs-development-company\" target=\"_blank\" rel=\"nofollow\"><strong>ReactJS web development company<\/strong><\/a>. We help you simplify your queries and offer the best suitable solutions.<\/p>\n<p>I hope these above pointers worked well for you. To summarize it, Redux can easily manage the global state in a react application. Get access to it and update the state from anywhere by debugging the entire state of an application. Users can place most of the state of their application in Redux, and some forms still need updates. Thus, keep the react components state itself until the official form is submitted.<\/p>\n<p>Do you want to store your whole application state in a single place? Try React-Redux, the best solution to solve the state management problem.<\/p>\n<style>\n.blog-block-1{background:url(https:\/\/www.concettolabs.com\/blog\/wp-content\/uploads\/2020\/08\/app-development.png);background-position: center;background-repeat: no-repeat;background-size: cover;width:100%;margin: 0 auto;padding: 20px 60px 80px;text-align: center; }.blog-block-1 h3{font-size: 40px;color: #fff;line-height: 60px;text-align:center;}.blog-block-1 p{color: #fff;font-size: 20px;}a.blog-btn-1{padding:10px 30px;background: #fbbf13;color: #fff!important;font-size: 18px;border: 0;cursor: poi<span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span>nter; text-align:center}.blog-block-1 p{text-align:center;color:#fff!important;}<\/style>\n<p>&nbsp;<\/p>\n<div class=\"blog-block-1\">\n<h3><span class=\"ez-toc-section\" id=\"A_Beginners_Guide_to_Understanding_Redux_with_React\"><\/span>A Beginner\u2019s Guide to Understanding Redux with React<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a class=\"blog-btn-1\" href=\"https:\/\/www.concettolabs.com\/inquiry\" target=\"_blank\" rel=\"nofollow\">Contact Us<\/a><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_71 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#What_is_Redux\" title=\"What is Redux?\">What is Redux?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#Why_should_we_use_React-Redux\" title=\"Why should we use React-Redux?\">Why should we use React-Redux?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#MasterDetail_Views\" title=\"Master\/Detail Views\">Master\/Detail Views<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#Who_owns_the_data\" title=\"Who owns the data?\">Who owns the data?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#Understanding_How_Redux_Works\" title=\"Understanding How Redux Works\">Understanding How Redux Works<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#1_Actions_in_Redux\" title=\"1.\u00a0Actions in Redux:\">1.\u00a0Actions in Redux:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#2_Reducer_in_Redux\" title=\"2.\u00a0Reducer in Redux\">2.\u00a0Reducer in Redux<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#3_Store_in_Redux\" title=\"3.\u00a0Store in Redux\">3.\u00a0Store in Redux<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#How_one_can_implement_Redux_in_its_application\" title=\"How one can implement Redux in its application?\">How one can implement Redux in its application?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#Wrap_up\" title=\"Wrap up\">Wrap up<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#A_Beginners_Guide_to_Understanding_Redux_with_React\" title=\"A Beginner\u2019s Guide to Understanding Redux with React\">A Beginner\u2019s Guide to Understanding Redux with React<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n","protected":false},"excerpt":{"rendered":"<p>There was one developer who was new to React and was thrown into the Redux project. He has no idea about how to navigate. He looked for all sorts of online tutorials for better understanding. The concept and somehow things didn\u2019t go well with him. There were lots of unanswered queries in his mind, such [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3886,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[40],"tags":[1944,1945,1946,1947,1948,1949,1950,1951,1952],"class_list":["post-3884","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-guides","tag-react-redux","tag-react-redux-connect","tag-react-redux-hooks","tag-react-redux-npm","tag-react-redux-typescript","tag-redux-github","tag-redux-wiki","tag-redux-with-react","tag-redux-thunk"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Beginner\u2019s Guide to Understanding Redux with React<\/title>\n<meta name=\"description\" content=\"Do you want to store your whole application state in a single place? Try React-Redux, the best solution to solve the state management problem.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Beginner\u2019s Guide to Understanding Redux with React\" \/>\n<meta property=\"og:description\" content=\"Do you want to store your whole application state in a single place? Try React-Redux, the best solution to solve the state management problem.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/\" \/>\n<meta property=\"og:site_name\" content=\"concettolabs\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/manish.patel.710\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-25T06:18:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Manish Patel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/withmanish\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Manish Patel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/\",\"url\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/\",\"name\":\"Beginner\u2019s Guide to Understanding Redux with React\",\"isPartOf\":{\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg\",\"datePublished\":\"2020-05-25T06:18:18+00:00\",\"dateModified\":\"2020-05-25T06:18:18+00:00\",\"author\":{\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/#\/schema\/person\/b27e0500ea2f536f7f0f5e7ab13566b9\"},\"description\":\"Do you want to store your whole application state in a single place? Try React-Redux, the best solution to solve the state management problem.\",\"breadcrumb\":{\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#primaryimage\",\"url\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg\",\"contentUrl\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg\",\"width\":1170,\"height\":540,\"caption\":\"Redux with React\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Beginner\u2019s Guide to Understanding Redux with React\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/#website\",\"url\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/\",\"name\":\"concettolabs\",\"description\":\"Just another WordPress site\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/#\/schema\/person\/b27e0500ea2f536f7f0f5e7ab13566b9\",\"name\":\"Manish Patel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2022\/03\/manish2-96x96.png\",\"contentUrl\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2022\/03\/manish2-96x96.png\",\"caption\":\"Manish Patel\"},\"description\":\"Manish Patel is a Co-Founder of Concetto Labs, a leading mobile app development company specialized in android and iOS app development. We provide a one-stop solution for all IT related services.\",\"sameAs\":[\"https:\/\/websitelaravel.concettoprojects.com\/blog\",\"https:\/\/www.facebook.com\/manish.patel.710\",\"https:\/\/in.linkedin.com\/in\/manishpatel2509\",\"https:\/\/x.com\/https:\/\/twitter.com\/withmanish\"],\"url\":\"https:\/\/websitelaravel.concettoprojects.com\/blog\/author\/manish-patel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Beginner\u2019s Guide to Understanding Redux with React","description":"Do you want to store your whole application state in a single place? Try React-Redux, the best solution to solve the state management problem.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Beginner\u2019s Guide to Understanding Redux with React","og_description":"Do you want to store your whole application state in a single place? Try React-Redux, the best solution to solve the state management problem.","og_url":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/","og_site_name":"concettolabs","article_author":"https:\/\/www.facebook.com\/manish.patel.710","article_published_time":"2020-05-25T06:18:18+00:00","og_image":[{"width":1170,"height":540,"url":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg","type":"image\/jpeg"}],"author":"Manish Patel","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/withmanish","twitter_misc":{"Written by":"Manish Patel","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/","url":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/","name":"Beginner\u2019s Guide to Understanding Redux with React","isPartOf":{"@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#primaryimage"},"image":{"@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#primaryimage"},"thumbnailUrl":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg","datePublished":"2020-05-25T06:18:18+00:00","dateModified":"2020-05-25T06:18:18+00:00","author":{"@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/#\/schema\/person\/b27e0500ea2f536f7f0f5e7ab13566b9"},"description":"Do you want to store your whole application state in a single place? Try React-Redux, the best solution to solve the state management problem.","breadcrumb":{"@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#primaryimage","url":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg","contentUrl":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2020\/05\/React-Redux-2.jpg","width":1170,"height":540,"caption":"Redux with React"},{"@type":"BreadcrumbList","@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/beginners-guide-to-understanding-redux-with-react\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/websitelaravel.concettoprojects.com\/blog\/"},{"@type":"ListItem","position":2,"name":"A Beginner\u2019s Guide to Understanding Redux with React"}]},{"@type":"WebSite","@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/#website","url":"https:\/\/websitelaravel.concettoprojects.com\/blog\/","name":"concettolabs","description":"Just another WordPress site","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/websitelaravel.concettoprojects.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/#\/schema\/person\/b27e0500ea2f536f7f0f5e7ab13566b9","name":"Manish Patel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/websitelaravel.concettoprojects.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2022\/03\/manish2-96x96.png","contentUrl":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-content\/uploads\/2022\/03\/manish2-96x96.png","caption":"Manish Patel"},"description":"Manish Patel is a Co-Founder of Concetto Labs, a leading mobile app development company specialized in android and iOS app development. We provide a one-stop solution for all IT related services.","sameAs":["https:\/\/websitelaravel.concettoprojects.com\/blog","https:\/\/www.facebook.com\/manish.patel.710","https:\/\/in.linkedin.com\/in\/manishpatel2509","https:\/\/x.com\/https:\/\/twitter.com\/withmanish"],"url":"https:\/\/websitelaravel.concettoprojects.com\/blog\/author\/manish-patel\/"}]}},"_links":{"self":[{"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/posts\/3884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/comments?post=3884"}],"version-history":[{"count":0,"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/posts\/3884\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/media\/3886"}],"wp:attachment":[{"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/media?parent=3884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/categories?post=3884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/websitelaravel.concettoprojects.com\/blog\/wp-json\/wp\/v2\/tags?post=3884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}