{"id":73715,"date":"2025-08-20T23:40:38","date_gmt":"2025-08-20T18:10:38","guid":{"rendered":"https:\/\/www.tothenew.com\/blog\/?p=73715"},"modified":"2025-08-29T16:05:48","modified_gmt":"2025-08-29T10:35:48","slug":"zustand-in-react-native","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/zustand-in-react-native\/","title":{"rendered":"Zustand In React Native"},"content":{"rendered":"<h1>Introduction<\/h1>\n<h1>What is Zustand?<\/h1>\n<p>Zustand is a powerful and lightweight state-management library for React and React Native\u2014it\u2019s designed to be fast, minimal, and easy to use. It uses a\u00a0central store\u00a0with\u00a0hooks-based API, eliminating boilerplate while supporting middleware, persistence, and more.<\/p>\n<h3>Key Benefits<\/h3>\n<ul>\n<li><strong>Minimal boilerplate<\/strong> \u2014 no actions, reducers, or providers needed.<\/li>\n<li><strong>High performance<\/strong> \u2014 components subscribe to specific selectors, re-rendering only on relevant state changes.<\/li>\n<li><strong>Flexible API<\/strong> \u2014 supports middleware (persist, devtools, actions, etc.)<\/li>\n<li><strong>Scalable<\/strong> \u2014 works well for both small and large applications<\/li>\n<li><strong>Modular<\/strong>: Split stores into logical units<\/li>\n<\/ul>\n<h3>Zustand vs Redux Vs Context<\/h3>\n<div id=\"attachment_73714\" style=\"width: 467px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-73714\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-73714\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/07\/Screenshot-2025-07-29-at-10.34.34\u202fPM-300x82.png\" alt=\"Comparison\" width=\"457\" height=\"125\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/07\/Screenshot-2025-07-29-at-10.34.34\u202fPM-300x82.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/07\/Screenshot-2025-07-29-at-10.34.34\u202fPM-1024x279.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/07\/Screenshot-2025-07-29-at-10.34.34\u202fPM-768x209.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/07\/Screenshot-2025-07-29-at-10.34.34\u202fPM-624x170.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/07\/Screenshot-2025-07-29-at-10.34.34\u202fPM.png 1350w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><p id=\"caption-attachment-73714\" class=\"wp-caption-text\">Zustand vs Other tools<\/p><\/div>\n<h2>Installation<\/h2>\n<div id=\"attachment_74133\" style=\"width: 386px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74133\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74133\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/Installation-1-300x91.png\" alt=\"Installation\" width=\"376\" height=\"114\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/Installation-1-300x91.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/Installation-1-768x232.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/Installation-1-624x189.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/Installation-1.png 972w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><p id=\"caption-attachment-74133\" class=\"wp-caption-text\">Installation<\/p><\/div>\n<div id=\"attachment_74140\" style=\"width: 387px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74140\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74140\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-installation-300x58.png\" alt=\"If you need middleware\" width=\"377\" height=\"73\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-installation-300x58.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-installation-768x149.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-installation-624x121.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-installation.png 953w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><p id=\"caption-attachment-74140\" class=\"wp-caption-text\">If you need middleware<\/p><\/div>\n<h2>Usage<\/h2>\n<h3>Basic Counter Example<\/h3>\n<div id=\"attachment_74141\" style=\"width: 394px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74141\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74141\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/counterstore-300x121.png\" alt=\"\/store\/counterStore.js\" width=\"384\" height=\"155\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/counterstore-300x121.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/counterstore-1024x412.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/counterstore-768x309.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/counterstore-624x251.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/counterstore.png 1301w\" sizes=\"(max-width: 384px) 100vw, 384px\" \/><p id=\"caption-attachment-74141\" class=\"wp-caption-text\">\/store\/counterStore.js<\/p><\/div>\n<div id=\"attachment_74142\" style=\"width: 395px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74142\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74142\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/app-300x172.png\" alt=\" \/App.js\" width=\"385\" height=\"221\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/app-300x172.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/app-1024x586.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/app-768x439.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/app-1536x879.png 1536w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/app-624x357.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/app.png 1592w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/><p id=\"caption-attachment-74142\" class=\"wp-caption-text\">\/App.js<\/p><\/div>\n<h3>Example with persist storage<\/h3>\n<h3>What is persist in Zustand?<\/h3>\n<p>By default, Zustand stores only live in memory. This means if we reload the app, the state resets to its initial value.<\/p>\n<p>The persist middleware allows us to save Zustand state into a storage (AsyncStorage in React Native), so that the state persists even after app reloads.<\/p>\n<p><strong>How it Works?<\/strong><\/p>\n<p>You wrap your store inside persist.<\/p>\n<ul>\n<li>It intercepts state changes.<\/li>\n<li>Saves them to storage with a key (name).<\/li>\n<li>On app restart, it restores the saved state automatically.<\/li>\n<\/ul>\n<div id=\"attachment_74149\" style=\"width: 384px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74149\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74149\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/async-installation-300x53.png\" alt=\"Install AsyncStorage\" width=\"374\" height=\"66\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/async-installation-300x53.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/async-installation-1024x180.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/async-installation-768x135.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/async-installation-624x109.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/async-installation.png 1112w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><p id=\"caption-attachment-74149\" class=\"wp-caption-text\">Install AsyncStorage<\/p><\/div>\n<div id=\"attachment_74148\" style=\"width: 389px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74148\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74148\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-store-1-300x204.png\" alt=\"\/store\/persistCounterStore.js\" width=\"379\" height=\"258\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-store-1-300x204.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-store-1-1024x696.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-store-1-768x522.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-store-1-624x424.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-store-1.png 1416w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><p id=\"caption-attachment-74148\" class=\"wp-caption-text\">\/store\/persistCounterStore.js<\/p><\/div>\n<div id=\"attachment_74145\" style=\"width: 397px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74145\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74145\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-app-300x163.png\" alt=\"\/PersistApp.js\" width=\"387\" height=\"210\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-app-300x163.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-app-1024x556.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-app-768x417.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-app-1536x835.png 1536w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-app-624x339.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/persist-app.png 1590w\" sizes=\"(max-width: 387px) 100vw, 387px\" \/><p id=\"caption-attachment-74145\" class=\"wp-caption-text\">\/PersistApp.js<\/p><\/div>\n<h3>Zustand&#8217;s persist middleware with MMKV (react-native-mmkv)<\/h3>\n<div id=\"attachment_74152\" style=\"width: 399px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74152\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74152\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkp-installation-300x135.png\" alt=\"Install MMKV\" width=\"389\" height=\"175\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkp-installation-300x135.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkp-installation-768x346.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkp-installation-624x281.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkp-installation.png 955w\" sizes=\"(max-width: 389px) 100vw, 389px\" \/><p id=\"caption-attachment-74152\" class=\"wp-caption-text\">Install MMKV<\/p><\/div>\n<div id=\"attachment_74153\" style=\"width: 398px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74153\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74153\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-store-300x119.png\" alt=\"Create MMKV instance\" width=\"388\" height=\"154\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-store-300x119.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-store-768x305.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-store-624x248.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-store.png 957w\" sizes=\"(max-width: 388px) 100vw, 388px\" \/><p id=\"caption-attachment-74153\" class=\"wp-caption-text\">Create MMKV instance<\/p><\/div>\n<div id=\"attachment_74154\" style=\"width: 397px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74154\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74154\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-269x300.png\" alt=\"Use with Zustand persist\" width=\"387\" height=\"432\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-269x300.png 269w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-918x1024.png 918w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-768x857.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-624x696.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist.png 1371w\" sizes=\"(max-width: 387px) 100vw, 387px\" \/><p id=\"caption-attachment-74154\" class=\"wp-caption-text\">Use with Zustand persist<\/p><\/div>\n<div id=\"attachment_74154\" style=\"width: 395px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74154\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74154\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-269x300.png\" alt=\"Use with Zustand persist\" width=\"385\" height=\"429\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-269x300.png 269w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-918x1024.png 918w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-768x857.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist-624x696.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-persist.png 1371w\" sizes=\"(max-width: 385px) 100vw, 385px\" \/><p id=\"caption-attachment-74154\" class=\"wp-caption-text\">Use with Zustand persist<\/p><\/div>\n<div id=\"attachment_74157\" style=\"width: 398px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74157\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74157\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-app-300x171.png\" alt=\"Use in Component\" width=\"388\" height=\"221\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-app-300x171.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-app-1024x583.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-app-768x437.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-app-1536x874.png 1536w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-app-624x355.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/mmkv-app.png 1575w\" sizes=\"(max-width: 388px) 100vw, 388px\" \/><p id=\"caption-attachment-74157\" class=\"wp-caption-text\">Use in Component<\/p><\/div>\n<p>That storage: { &#8230; } block is what we call a custom storage adapter.<\/p>\n<p>By default, zustand\/persist only knows how to work with web\u2019s localStorage.<br \/>\nBut in React Native, we don\u2019t have localStorage, so we have to tell it how to store and retrieve data.<\/p>\n<p>That\u2019s why we provide 3 functions inside storage:<\/p>\n<ol>\n<li><strong>getItem(name)<\/strong><br \/>\nRuns when Zustand loads the state.<br \/>\nIt receives the key name (e.g. &#8220;counter-storage&#8221;)<br \/>\nShould return the stored JSON-parsed value or null if not found.<\/li>\n<li><strong>setItem(name, value)<\/strong><br \/>\nRuns whenever Zustand saves the state.<br \/>\nIt receives the key name and the stringified JSON value.<br \/>\nWe just need to persist it.<\/li>\n<li><strong>removeItem(name)<\/strong><br \/>\nRuns when you clear\/reset the persisted store.<\/li>\n<\/ol>\n<p>So basically, this block teaches Zustand how to use MMKV (or any other storage) instead of AsyncStorage.<\/p>\n<p>In short:<br \/>\nstorage: { getItem, setItem, removeItem } is just a bridge between Zustand\u2019s persist middleware and whatever storage engine we want to use.<\/p>\n<h3>Example with Middleware<\/h3>\n<div id=\"attachment_74150\" style=\"width: 403px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74150\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74150\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-store-300x167.png\" alt=\"store\/middlewareCounterStore.js\" width=\"393\" height=\"219\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-store-300x167.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-store-1024x570.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-store-768x428.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-store-624x348.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-store.png 1377w\" sizes=\"(max-width: 393px) 100vw, 393px\" \/><p id=\"caption-attachment-74150\" class=\"wp-caption-text\">store\/middlewareCounterStore.js<\/p><\/div>\n<div id=\"attachment_74151\" style=\"width: 404px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74151\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74151\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-app-300x172.png\" alt=\"\/MiddlewareCounterApp.js\" width=\"394\" height=\"226\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-app-300x172.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-app-1024x588.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-app-768x441.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-app-1536x881.png 1536w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-app-624x358.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/middleware-app.png 1586w\" sizes=\"(max-width: 394px) 100vw, 394px\" \/><p id=\"caption-attachment-74151\" class=\"wp-caption-text\">\/MiddlewareCounterApp.js<\/p><\/div>\n<p>logger middleware \u2192 logs every state change to the console.<br \/>\ndevtools middleware \u2192 integrates with Redux DevTools (you can inspect state changes if you connect DevTools).<\/p>\n<h2>Example With Api Call<\/h2>\n<div id=\"attachment_74184\" style=\"width: 412px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-74184\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-74184\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example-248x300.png\" alt=\"Example with Api Call\" width=\"402\" height=\"487\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example-248x300.png 248w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example-847x1024.png 847w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example-768x928.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example-1271x1536.png 1271w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example-1694x2048.png 1694w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example-624x754.png 624w, \/blog\/wp-ttn-blog\/uploads\/2025\/08\/api-call-example.png 1830w\" sizes=\"(max-width: 402px) 100vw, 402px\" \/><p id=\"caption-attachment-74184\" class=\"wp-caption-text\">Example with Api Call<\/p><\/div>\n<h2>Conclusion<\/h2>\n<p>Zustand is an excellent choice for state management in React Native applications, especially for smaller to medium-sized projects where Redux might be overkill.<\/p>\n<p>It offers all the features like persist, usage with sqlite or any other storage.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction What is Zustand? Zustand is a powerful and lightweight state-management library for React and React Native\u2014it\u2019s designed to be fast, minimal, and easy to use. It uses a\u00a0central store\u00a0with\u00a0hooks-based API, eliminating boilerplate while supporting middleware, persistence, and more. Key Benefits Minimal boilerplate \u2014 no actions, reducers, or providers needed. High performance \u2014 components subscribe [&hellip;]<\/p>\n","protected":false},"author":2117,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":53},"categories":[5881],"tags":[55,5853,7706],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/73715"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/2117"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=73715"}],"version-history":[{"count":9,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/73715\/revisions"}],"predecessor-version":[{"id":74185,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/73715\/revisions\/74185"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=73715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=73715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=73715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}