{"id":57003,"date":"2024-01-08T20:28:43","date_gmt":"2024-01-08T14:58:43","guid":{"rendered":"https:\/\/www.oneclickitsolution.com\/blog\/?p=57003"},"modified":"2024-09-06T11:36:00","modified_gmt":"2024-09-06T06:06:00","slug":"recoil-state-management-library-in-react","status":"publish","type":"post","link":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react","title":{"rendered":"Recoil: State Management Library in React"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-introduction\">Introduction<\/h2>\n\n\n\n<p>Recoil is an open-source state management library. It provides an easy way to share the state between all components of a react application. It is very easy to set up, unlike redux which does not need boilerplate code to set up. It provides a data-graph flow that flows from atoms i.e. our shared states to selectors i.e a pure function and then into the react component.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-atoms\">Atoms<\/h2>\n\n\n\n<p>Just like redux, Recoil provides a global state, called Atoms. Atoms are a single source of truth that contains all states of an application. All components of our <a href=\"https:\/\/www.oneclickitsolution.com\/services\/react-native-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">react application<\/a> can access them and can subscribe to changes made on them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-selectors\">Selectors<\/h2>\n\n\n\n<p>Selectors are pure functions that take atoms or other selectors as input and return output based on the changes in input.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-getting-started\">Getting Started<\/h2>\n\n\n\n<p><strong>npx create-react-app my-app<\/strong><\/p>\n\n\n\n<p>As Recoil is a state management library for React, First we need to create a react app.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.oneclickitsolution.com\/contact-us\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"275\" src=\"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2022\/01\/React-Native-Developer-CTA2.png\" alt=\"React-Native-Developer-CTA2\" class=\"wp-image-54482\" srcset=\"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2022\/01\/React-Native-Developer-CTA2.png 1200w, https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2022\/01\/React-Native-Developer-CTA2-768x176.png 768w, https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2022\/01\/React-Native-Developer-CTA2-20x5.png 20w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-installation\">Installation<\/h2>\n\n\n\n<p>Recoil is very easy to set up. Following are the steps to get started with recoil <a href=\"https:\/\/www.oneclickitsolution.com\/blog\/why-use-react-native-for-mobile-app-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">setup in your react application<\/a>:<\/p>\n\n\n\n<p>Run the following command to install the latest stable <a href=\"https:\/\/github.com\/facebookexperimental\/Recoil\/releases\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">version of Recoil<\/a> if you are using npm.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-npm-install-recoil\">npm install recoil<\/h3>\n\n\n\n<p>Or if you are using yarn then<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-yarn-add-recoil\">yarn add recoil<\/h3>\n\n\n\n<p>Or if you are using bower then<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-bower-install-save-recoil\">bower install &#8211;save recoil<\/h3>\n\n\n\n<p>Now wrap your root component in RecoilRoot just like below<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"jsx\" class=\"language-jsx\">import React from \"react\";\nimport { RecoilRoot } from \"recoil\";\nimport Counter from \".\/counter\";\n\n\nfunction App() {\n return (\n   &lt;RecoilRoot&gt;\n     &lt;Counter \/&gt;\n   &lt;\/RecoilRoot&gt;\n );\n}\n\n\nexport default App;\n<\/code><\/pre>\n\n\n\n<p>Now, In your counter component we will write the logic for counter application using Recoil.<\/p>\n\n\n\n<p>First we will create an atom in our counter component that will contain the counter state.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"jsx\" class=\"language-jsx\">const counterState = atom({\n key: \"counterState\",\n default: 0,\n});\n<\/code><\/pre>\n\n\n\n<p>We have given the name counterState to our atom. A unique key counterState given to it and set the default value to 0.<\/p>\n\n\n\n<p><strong>useRecoilState<\/strong> hook is used to write and read the atom. <strong>useSetRecoilState<\/strong> hook is used to write to the atom while <strong>useRecoilValue<\/strong> hook is used to read it.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"jsx\" class=\"language-jsx\">const Counter = () =&gt; {\n const [counter, setCounter] = useRecoilState(counterState);\n const count = useRecoilValue(countIncrementState);\n\n\n const onIncrementClick = () =&gt; {\n   setCounter(counter + 1);\n };\n\n\n return (\n   &lt;div className=\"App\"&gt;\n     &lt;h3&gt;Recoil Demo&lt;\/h3&gt;\n     &lt;button onClick={() =&gt; onIncrementClick()}&gt;Increment&lt;\/button&gt;\n     &lt;p&gt;{`Current Counter State is: ${counter}`}&lt;\/p&gt;\n     &lt;p&gt;{`Next Counter State is: ${count}`}&lt;\/p&gt;\n   &lt;\/div&gt;\n );\n};\n<\/code><\/pre>\n\n\n\n<p>Now we have created a selector to transform the value of a state.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"jsx\" class=\"language-jsx\">const countIncrementState = selector({\n key: \"counterIncState\",\n get: ({ get }) =&gt; {\n   return get(counterState) + 1;\n },\n});\n<\/code><\/pre>\n\n\n\n<p>After wrapping up the entire code in a file the final code will look like this<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"jsx\" class=\"language-jsx\">import React from \"react\";\nimport { atom, selector, useRecoilState, useRecoilValue } from \"recoil\";\n\n\nconst counterState = atom({\n key: \"counterState\",\n default: 0,\n});\n\n\nconst countIncrementState = selector({\n key: \"counterIncState\",\n get: ({ get }) =&gt; {\n   return get(counterState) + 1;\n },\n});\n\n\nconst Counter = () =&gt; {\n const [counter, setCounter] = useRecoilState(counterState);\n const count = useRecoilValue(countIncrementState);\n\n\n const onIncrementClick = () =&gt; {\n   setCounter(counter + 1);\n };\n\n\n return (\n   &lt;div className=\"App\"&gt;\n     &lt;h3&gt;Recoil Demo&lt;\/h3&gt;\n     &lt;button onClick={() =&gt; onIncrementClick()}&gt;Increment&lt;\/button&gt;\n     &lt;p&gt;{`Current Counter State is: ${counter}`}&lt;\/p&gt;\n     &lt;p&gt;{`Next Counter State is: ${count}`}&lt;\/p&gt;\n   &lt;\/div&gt;\n );\n};\n\n\nexport default Counter;<\/code><\/pre>\n\n\n\n<p>Below is the output for the above code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"404\" height=\"203\" src=\"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-demo-1.png\" alt=\"recoil demo 1\" class=\"wp-image-57005\" srcset=\"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-demo-1.png 404w, https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-demo-1-20x10.png 20w\" sizes=\"(max-width: 404px) 100vw, 404px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"404\" height=\"203\" src=\"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-demo-2.png\" alt=\"recoil demo 2\" class=\"wp-image-57006\" srcset=\"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-demo-2.png 404w, https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-demo-2-20x10.png 20w\" sizes=\"(max-width: 404px) 100vw, 404px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Benefits of using Recoil<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Easy to use and learn.<\/li>\n\n\n\n<li>Less boilerplate code.<\/li>\n\n\n\n<li>Data flow is simple.<\/li>\n\n\n\n<li>It prevents unnecessary re-renders which happen while using other state management &#8211; libraries or tools like context, redux, etc.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Cons of using Recoil<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Recoil is larger in size as compared to Redux.<\/li>\n\n\n\n<li>No middleware support is provided as of now.<\/li>\n\n\n\n<li>In Large-scaled projects, <a href=\"https:\/\/www.oneclickitsolution.com\/blog\/state-management-in-react-native-using-redux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Redux is preferred<\/a> over Recoil.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Recoil is a competent state management library. In the future, Recoil has tremendous promising potential, so if you want to use it in your large <a href=\"https:\/\/www.oneclickitsolution.com\/services\/mobile-app-development\/\" target=\"_blank\" rel=\"noreferrer noopener\">applications<\/a> for state management, you won\u2019t be disappointed. It has its own unique benefits over other state management libraries or tools. Even though Recoil is still in its early age and might take a while to establish itself, we can certainly foresee an encouraging future thanks to its easy learning curve, less boilerplate code, and elementary data flow.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Recoil is an open-source state management library. It provides an easy way to share the state between all components of a react application. It is very easy to set up, unlike redux which does not need boilerplate code to set up. It provides a data-graph flow that flows from atoms i.e. our shared states &hellip;<\/p>\n","protected":false},"author":1,"featured_media":57035,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[516],"tags":[798,855,1207,1206],"class_list":["post-57003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile-apps","tag-best-mobile-application-development","tag-react-native-app-development","tag-recoil-state-management-in-react","tag-state-management-library-in-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v24.8.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Recoil: State Management Library in React<\/title>\n<meta name=\"description\" content=\"Learn how to simplify state management in your React projects using Recoil with the benefits and follow our step-by-step guide.\" \/>\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.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recoil: State Management Library in React\" \/>\n<meta property=\"og:description\" content=\"Learn how to simplify state management in your React projects using Recoil with the benefits and follow our step-by-step guide.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react\" \/>\n<meta property=\"og:site_name\" content=\"OneClick IT Consultancy\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/oneclickconsultancy\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-08T14:58:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-06T06:06:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-state-management-library-in-react-native.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"OneClick IT Consultancy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OneclickIT\" \/>\n<meta name=\"twitter:site\" content=\"@OneclickIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"OneClick IT Consultancy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Recoil: State Management Library in React","description":"Learn how to simplify state management in your React projects using Recoil with the benefits and follow our step-by-step guide.","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.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react","og_locale":"en_US","og_type":"article","og_title":"Recoil: State Management Library in React","og_description":"Learn how to simplify state management in your React projects using Recoil with the benefits and follow our step-by-step guide.","og_url":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react","og_site_name":"OneClick IT Consultancy","article_publisher":"https:\/\/www.facebook.com\/oneclickconsultancy","article_published_time":"2024-01-08T14:58:43+00:00","article_modified_time":"2024-09-06T06:06:00+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-state-management-library-in-react-native.png","type":"image\/png"}],"author":"OneClick IT Consultancy","twitter_card":"summary_large_image","twitter_creator":"@OneclickIT","twitter_site":"@OneclickIT","twitter_misc":{"Written by":"OneClick IT Consultancy","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react#article","isPartOf":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react"},"author":{"name":"OneClick IT Consultancy","@id":"https:\/\/www.oneclickitsolution.com\/blog\/#\/schema\/person\/c2616c0a433427a79a96fe5ca2b34ec3"},"headline":"Recoil: State Management Library in React","datePublished":"2024-01-08T14:58:43+00:00","dateModified":"2024-09-06T06:06:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react"},"wordCount":500,"publisher":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react#primaryimage"},"thumbnailUrl":"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-state-management-library-in-react-native.png","keywords":["Best Mobile Application Development","React Native App Development","Recoil State Management In React","State Management Library In React"],"articleSection":["Mobile Application"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react","url":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react","name":"Recoil: State Management Library in React","isPartOf":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react#primaryimage"},"image":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react#primaryimage"},"thumbnailUrl":"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-state-management-library-in-react-native.png","datePublished":"2024-01-08T14:58:43+00:00","dateModified":"2024-09-06T06:06:00+00:00","description":"Learn how to simplify state management in your React projects using Recoil with the benefits and follow our step-by-step guide.","breadcrumb":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react#primaryimage","url":"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-state-management-library-in-react-native.png","contentUrl":"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2023\/03\/recoil-state-management-library-in-react-native.png","width":1200,"height":628,"caption":"recoil state management library in react native"},{"@type":"BreadcrumbList","@id":"https:\/\/www.oneclickitsolution.com\/blog\/recoil-state-management-library-in-react#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.oneclickitsolution.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Recoil: State Management Library in React"}]},{"@type":"WebSite","@id":"https:\/\/www.oneclickitsolution.com\/blog\/#website","url":"https:\/\/www.oneclickitsolution.com\/blog\/","name":"OneClick IT Consultancy","description":"We Build Brands from Ideas","publisher":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/#organization"},"alternateName":"OneClick IT Solution","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.oneclickitsolution.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.oneclickitsolution.com\/blog\/#organization","name":"OneClick IT Consultancy","alternateName":"OneClick IT Solution","url":"https:\/\/www.oneclickitsolution.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.oneclickitsolution.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2022\/10\/oneclick-official-logo.png","contentUrl":"https:\/\/www.oneclickitsolution.com\/blog\/wp-content\/uploads\/2022\/10\/oneclick-official-logo.png","width":100,"height":100,"caption":"OneClick IT Consultancy"},"image":{"@id":"https:\/\/www.oneclickitsolution.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/oneclickconsultancy","https:\/\/x.com\/OneclickIT","https:\/\/www.instagram.com\/oneclick.it.consultancy\/","https:\/\/www.linkedin.com\/company\/one-click-it-consultancy\/","https:\/\/www.pinterest.com\/oneclickitconsultancy\/","https:\/\/www.youtube.com\/channel\/UCsEG6aiwOwvYrcZxMoP5xjg","https:\/\/oneclickit.tumblr.com\/","https:\/\/dribbble.com\/oneclickitconsultancy"]},{"@type":"Person","@id":"https:\/\/www.oneclickitsolution.com\/blog\/#\/schema\/person\/c2616c0a433427a79a96fe5ca2b34ec3","name":"OneClick IT Consultancy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.oneclickitsolution.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8169ffe1b63da548d77fb666e94f1aba?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8169ffe1b63da548d77fb666e94f1aba?s=96&d=mm&r=g","caption":"OneClick IT Consultancy"},"description":"OneClick IT Consultancy is the best custom software development company based in India &amp; USA with expertise in BLE, travel, mobile, and web development. With nearly a decade\u2019s experience, we use best practices and development standards to deliver high-performance applications, focused on the user experience.","sameAs":["https:\/\/www.oneclickitsolution.com\/blog\/"],"jobTitle":"Founder","url":"https:\/\/www.oneclickitsolution.com\/blog\/author\/oneclick"}]}},"_links":{"self":[{"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/posts\/57003"}],"collection":[{"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/comments?post=57003"}],"version-history":[{"count":0,"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/posts\/57003\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/media\/57035"}],"wp:attachment":[{"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/media?parent=57003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/categories?post=57003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oneclickitsolution.com\/blog\/wp-json\/wp\/v2\/tags?post=57003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}