{"id":17639,"date":"2024-03-15T15:25:18","date_gmt":"2024-03-15T15:25:18","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/"},"modified":"2024-03-21T11:23:10","modified_gmt":"2024-03-21T11:23:10","slug":"how-to-maintain-the-page-state-when-reverting-in-react","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/","title":{"rendered":"How to maintain the page state when reverting in React?"},"content":{"rendered":"<p>To maintain the page state, you can use the following methods:<\/p>\n<ol>\n<li>The chosen path.<\/li>\n<li>identical<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>&lt;<span class=\"hljs-title class_\">Route<\/span> exact path=<span class=\"hljs-string\">\"\/\"<\/span> component={<span class=\"hljs-title class_\">Home<\/span>} \/&gt;\r\n<\/code><\/pre>\n<ol>\n<li>Change the setting<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>&lt;<span class=\"hljs-title class_\">Switch<\/span>&gt;\r\n  <span class=\"language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">Route<\/span> <span class=\"hljs-attr\">exact<\/span> <span class=\"hljs-attr\">path<\/span>=<span class=\"hljs-string\">\"\/\"<\/span> <span class=\"hljs-attr\">component<\/span>=<span class=\"hljs-string\">{Home}<\/span> \/&gt;<\/span><\/span>\r\n  <span class=\"language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">Route<\/span> <span class=\"hljs-attr\">path<\/span>=<span class=\"hljs-string\">\"\/about\"<\/span> <span class=\"hljs-attr\">component<\/span>=<span class=\"hljs-string\">{About}<\/span> \/&gt;<\/span><\/span>\r\n  <span class=\"language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">Route<\/span> <span class=\"hljs-attr\">path<\/span>=<span class=\"hljs-string\">\"\/contact\"<\/span> <span class=\"hljs-attr\">component<\/span>=<span class=\"hljs-string\">{Contact}<\/span> \/&gt;<\/span><\/span>\r\n&lt;\/<span class=\"hljs-title class_\">Switch<\/span>&gt;\r\n<\/code><\/pre>\n<ol>\n<li>Utilize React Context to share data. Store the data that needs to be maintained in state in Context, and then use Context.Provider in the components that need to maintain state to provide the data. Other components can access the data through Context.Consumer.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-title class_\">MyContext<\/span> = <span class=\"hljs-title class_\">React<\/span>.<span class=\"hljs-title function_\">createContext<\/span>();\r\n\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyProvider<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_ inherited__\">React.Component<\/span> {\r\n  state = {\r\n    <span class=\"hljs-comment\">\/\/ \u4fdd\u5b58\u9700\u8981\u4fdd\u6301\u7684\u72b6\u6001\u6570\u636e<\/span>\r\n  };\r\n\r\n  <span class=\"hljs-title function_\">render<\/span>(<span class=\"hljs-params\"><\/span>) {\r\n    <span class=\"hljs-keyword\">return<\/span> (\r\n      <span class=\"language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">MyContext.Provider<\/span> <span class=\"hljs-attr\">value<\/span>=<span class=\"hljs-string\">{this.state}<\/span>&gt;<\/span>\r\n        {this.props.children}\r\n      <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">MyContext.Provider<\/span>&gt;<\/span><\/span>\r\n    );\r\n  }\r\n}\r\n\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyComponent<\/span> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_ inherited__\">React.Component<\/span> {\r\n  <span class=\"hljs-title function_\">render<\/span>(<span class=\"hljs-params\"><\/span>) {\r\n    <span class=\"hljs-keyword\">return<\/span> (\r\n      <span class=\"language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">MyContext.Consumer<\/span>&gt;<\/span>\r\n        {context =&gt; (\r\n          \/\/ \u4f7f\u7528 context \u4e2d\u7684\u72b6\u6001\u6570\u636e\r\n        )}\r\n      <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">MyContext.Consumer<\/span>&gt;<\/span><\/span>\r\n    );\r\n  }\r\n}\r\n<\/code><\/pre>\n<p>Using the above method, it is possible to preserve the page state even after performing a back operation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To maintain the page state, you can use the following methods: The chosen path. identical &lt;Route exact path=&#8221;\/&#8221; component={Home} \/&gt; Change the setting &lt;Switch&gt; &lt;Route exact path=&#8221;\/&#8221; component={Home} \/&gt; &lt;Route path=&#8221;\/about&#8221; component={About} \/&gt; &lt;Route path=&#8221;\/contact&#8221; component={Contact} \/&gt; &lt;\/Switch&gt; Utilize React Context to share data. Store the data that needs to be maintained in state in [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-17639","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to maintain the page state when reverting in React? - Blog - Silicon Cloud<\/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.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to maintain the page state when reverting in React?\" \/>\n<meta property=\"og:description\" content=\"To maintain the page state, you can use the following methods: The chosen path. identical &lt;Route exact path=&quot;\/&quot; component={Home} \/&gt; Change the setting &lt;Switch&gt; &lt;Route exact path=&quot;\/&quot; component={Home} \/&gt; &lt;Route path=&quot;\/about&quot; component={About} \/&gt; &lt;Route path=&quot;\/contact&quot; component={Contact} \/&gt; &lt;\/Switch&gt; Utilize React Context to share data. Store the data that needs to be maintained in state in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T15:25:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T11:23:10+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noah Thompson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"How to maintain the page state when reverting in React?\",\"datePublished\":\"2024-03-15T15:25:18+00:00\",\"dateModified\":\"2024-03-21T11:23:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/\"},\"wordCount\":90,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/\",\"name\":\"How to maintain the page state when reverting in React? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T15:25:18+00:00\",\"dateModified\":\"2024-03-21T11:23:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to maintain the page state when reverting in React?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to maintain the page state when reverting in React? - Blog - Silicon Cloud","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.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/","og_locale":"en_US","og_type":"article","og_title":"How to maintain the page state when reverting in React?","og_description":"To maintain the page state, you can use the following methods: The chosen path. identical &lt;Route exact path=\"\/\" component={Home} \/&gt; Change the setting &lt;Switch&gt; &lt;Route exact path=\"\/\" component={Home} \/&gt; &lt;Route path=\"\/about\" component={About} \/&gt; &lt;Route path=\"\/contact\" component={Contact} \/&gt; &lt;\/Switch&gt; Utilize React Context to share data. Store the data that needs to be maintained in state in [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T15:25:18+00:00","article_modified_time":"2024-03-21T11:23:10+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"How to maintain the page state when reverting in React?","datePublished":"2024-03-15T15:25:18+00:00","dateModified":"2024-03-21T11:23:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/"},"wordCount":90,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/","name":"How to maintain the page state when reverting in React? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T15:25:18+00:00","dateModified":"2024-03-21T11:23:10+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-maintain-the-page-state-when-reverting-in-react\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to maintain the page state when reverting in React?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/17639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=17639"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/17639\/revisions"}],"predecessor-version":[{"id":51263,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/17639\/revisions\/51263"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=17639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=17639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=17639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}