{"id":3615,"date":"2019-04-24T08:53:32","date_gmt":"2019-04-24T08:53:32","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/"},"modified":"2026-04-24T11:28:38","modified_gmt":"2026-04-24T11:28:38","slug":"stimulusreflex-ett-snabbt-satt-att-skapa-reaktiva-appar","status":"publish","type":"post","link":"https:\/\/thecodest.co\/sv\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/","title":{"rendered":"StimulusReflex - ett snabbt s\u00e4tt att skapa reaktiva appar"},"content":{"rendered":"\n<p>It is new way to create reactive user interface in<strong> <a href=\"https:\/\/thecodest.co\/sv\/case-studies\/delivering-ruby-on-rails-talent-for-fast-integration\/\">Ruby on Rails<\/a><\/strong>.<br>StimulusReflex extends the capabilities of <a href=\"https:\/\/thecodest.co\/sv\/blog\/ways-to-increase-your-rails-performance\/\">Rails<\/a> and Stimulus by capturing user interactions and passing them to Rails over real-time websockets. Pages are quickly re-rendered and all updates are sent to the client via CableReady.<\/p>\n\n\n\n<p>CableReady allows to create real-time updates by triggering client-side DOM changes, events and notifications via <strong>ActionCable<\/strong>. Unlike Ajax, operations are not always initiated by the user other browser, for example, they can also be initiated by workers.<\/p>\n\n\n\n<p><strong>StimulusReflex<\/strong> was originally inspired by Phoenix\u2019s LiveView (an alternative to the SPA). StimulusReflex\u2019s goal has always been to make building modern apps with Rails the most productive and enjoyable option available. And in my opinion, this is exactly what they achieved here.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why should we use StimulusReflex?<\/h3>\n\n\n\n<p>It\u2019s simple, to focus on developing a <a href=\"https:\/\/thecodest.co\/sv\/dictionary\/how-to-make-product\/\">product<\/a> instead of introducing consistent changes in modern <a href=\"https:\/\/thecodest.co\/sv\/blog\/hire-javascript-developer\/\">JavaScript<\/a>. Also, <strong>StimulusReflex<\/strong> applications have simple, concise and clear <a href=\"https:\/\/thecodest.co\/sv\/dictionary\/what-is-code-refactoring\/\">code<\/a> and integrate seamlessly with <strong><a href=\"https:\/\/thecodest.co\/sv\/case-studies\/providing-a-team-of-ruby-developers-for-a-fintech-company\/\">Ruby<\/a> on Rails<\/strong>. This allows small <a href=\"https:\/\/thecodest.co\/sv\/blog\/hire-ror-developer\/\">RoR<\/a> teams to do big things even without great knowledge of <a href=\"https:\/\/thecodest.co\/sv\/blog\/conditional-component-visibility-in-react\/\">React<\/a>, <a href=\"https:\/\/thecodest.co\/sv\/blog\/hire-vue-js-developers\/\">Vue<\/a> or their modern JavaScript solutions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How does StimulusReflex works?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Reflex<\/h3>\n\n\n\n<p><strong>Reflex<\/strong> is a transactional UI update that takes place over a persistent open connection to the server. StimulusReflex maps requests to <strong>Reflex<\/strong> class. <strong>Reflex<\/strong> classes are in the <code>app\/reflexes<\/code> directory.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code> class PostReflex &lt; ApplicationReflex\n end<\/code><\/code><\/pre>\n\n\n\n<p><code><br><\/code>If we create Reflex class with a generator, we can see that our class contains this comment:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code><code># All Reflex instances include CableReady::Broadcaster and expose the following properties:\n  #\n  #   - connection \u2013 the ActionCable connection,\n  #   - channel \u2013 the ActionCable channel,\n  #   - request \u2013 an ActionDispatch::Request proxy for the socket connection,\n  #   - session \u2013 the ActionDispatch::Session store for the current visitor,\n  #   - flash \u2013 the ActionDispatch::Flash::FlashHash for the current request,\n  #   - url \u2013 the URL of the page that triggered the reflex,\n  #   - params \u2013 parameters from the element\u2019s closest form (if any),\n  #   - element \u2013 a Hash-like object that represents the HTML element that triggered the reflex,\n  #     - signed \u2013 uses a signed Global ID to map dataset attributed to a model e.g., element.signed[:foo],\n  #     - unsigned \u2013 uses an unsigned Global ID to map dataset attributed to a model e.g., element.unsigned[:foo],\n  #   - cable_ready \u2013 a special cable_ready that can broadcast to the current visitor (no brackets needed),\n  #   - reflex_id \u2013 a UUIDv4 that uniquely identifies each Reflex.<\/code><\/code><\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>As we can see, there are few properties that can be used in our class. The most interesting at the beginning will be the <code>element<\/code> property that contains all of the Stimulus controller\u2019s DOM element attributes as well as other properties, like <code>tagName<\/code>, <code>checked<\/code> and <code>value<\/code>.<\/p>\n\n\n\n<p><strong>StimulusReflex<\/strong> also gives <a href=\"https:\/\/thecodest.co\/sv\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> a set of callbacks to allow us to control our reflex\u2019s processes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>before_reflex<\/li>\n\n\n\n<li>around_reflex<\/li>\n\n\n\n<li>after_reflex<\/li>\n<\/ul>\n\n\n\n<p>As you can see, the naming is very similar to Active Record Callbacks.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Declaring a Reflex in HTML with data attribute<\/h4>\n\n\n\n<p>The fastest way to enable Reflex actions is by using the <code>data-reflex<\/code> attribute. The syntax follows the Stimulus format: <code>[DOM-event]->[ReflexClass]#[action]<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">\"=\"\">StimulusReflex documentation. Shoutout to all people involved into the development of StimulusReflex!<\/code><\/pre>\n\n\n\n<p>In this example, the <code>data-reflex<\/code> attribute pointed out the <code>PostRefex<\/code> class and the <code>increment<\/code> method on the <code>click<\/code> event. Here we also passed <code>data-post-id<\/code> that we can later use in the Reflex class through <code>element.dataset[:post_id]<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">class PostsReflex &lt; ApplicationReflex\ndef increment\npost = Post.find(element.dataset[:post_id])\n\npost.increment! :likes\nend\nend<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Morphs<\/h3>\n\n\n\n<p>By default, <strong>StimulusReflex<\/strong> updates the entire page (Page morph). After re-processing the controller action, rendering the view template and sending the raw HTML to your browser, StimulusReflex uses the <code>morphdom<\/code> library to do the smallest number of DOM modifications necessary to refresh your UI in just a few milliseconds.<\/p>\n\n\n\n<p><strong>StimulusReflex<\/strong> features three distinct modes of operation:<\/p>\n\n\n\n<p><strong>Page Morph<\/strong> \u2013 performs a full-page update,<br><strong>Selector Morph<\/strong> \u2013 replaces the content of an element,<br><strong>Nothing Morph<\/strong> \u2013 executes functions that do not update your page (for example, calling your employee).<\/p>\n\n\n\n<p>To change our <code>PostReflex#increment<\/code> method, we can simply use the <code>morph<\/code> keyword and target the partial that we want to update.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">def increment\npost = Post.find(element.dataset[:post_id])\npost.increment! :likes\n\nmorph \"#posts_#{post.id}\", render(partial: 'post', locals: { posts: post })\nend<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">My thoughts<\/h3>\n\n\n\n<p>This quite a short introduction is enough to start your journey with reactive Rails using <strong>StimulusReflex<\/strong>. Isn&#8217;t it great to be able to create a reactive SPA app with just a few Ruby lines and no JavaScript? For me, this whole HTML over-the-wire idea is exciting, and I will definitely dig into this topic in the future. For now, I highly recommend to you <a href=\"https:\/\/docs.stimulusreflex.com\">StimulusReflex documentation<\/a>. Shoutout to all people involved into the development of StimulusReflex!<\/p>\n\n\n\n<p><b>Read more:<\/b><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\">Why you should (probably) use Typescript<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/how-not-to-kill-a-project-with-bad-coding-practices\/\">How not to kill a project with bad coding practices?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Data fetching strategies in NextJS<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vad \u00e4r StimulusReflex? Ganska popul\u00e4r nuf\u00f6rtiden HTML over-the-wire-metoden ledde oss till skapandet av ramverk och bibliotek som skickar HTML \u00f6ver kabeln ist\u00e4llet f\u00f6r att anv\u00e4nda JSON. StimulusReflex \u00e4r en av dem.<\/p>","protected":false},"author":2,"featured_media":3616,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3615","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>StimulusReflex \u2013 a quick way to create reactive apps - The Codest<\/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:\/\/thecodest.co\/sv\/blogg\/stimulusreflex-ett-snabbt-satt-att-skapa-reaktiva-appar\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"StimulusReflex \u2013 a quick way to create reactive apps\" \/>\n<meta property=\"og:description\" content=\"What is StimulusReflex? Quite popular nowadays HTML over-the-wire approach led us to the creation of frameworks and libraries which send HTML over the wire instead of using JSON. StimulusReflex is one of them.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/sv\/blogg\/stimulusreflex-ett-snabbt-satt-att-skapa-reaktiva-appar\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-24T08:53:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:28:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/stimulusreflex.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"StimulusReflex \u2013 a quick way to create reactive apps\",\"datePublished\":\"2019-04-24T08:53:32+00:00\",\"dateModified\":\"2026-04-24T11:28:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/\"},\"wordCount\":586,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/stimulusreflex.jpg\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/\",\"name\":\"StimulusReflex \u2013 a quick way to create reactive apps - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/stimulusreflex.jpg\",\"datePublished\":\"2019-04-24T08:53:32+00:00\",\"dateModified\":\"2026-04-24T11:28:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/stimulusreflex.jpg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/stimulusreflex.jpg\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/stimulusreflex-a-quick-way-to-create-reactive-apps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"StimulusReflex \u2013 a quick way to create reactive apps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/sv\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"StimulusReflex - ett snabbt s\u00e4tt att skapa reaktiva appar - The Codest","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:\/\/thecodest.co\/sv\/blogg\/stimulusreflex-ett-snabbt-satt-att-skapa-reaktiva-appar\/","og_locale":"sv_SE","og_type":"article","og_title":"StimulusReflex \u2013 a quick way to create reactive apps","og_description":"What is StimulusReflex? Quite popular nowadays HTML over-the-wire approach led us to the creation of frameworks and libraries which send HTML over the wire instead of using JSON. StimulusReflex is one of them.","og_url":"https:\/\/thecodest.co\/sv\/blogg\/stimulusreflex-ett-snabbt-satt-att-skapa-reaktiva-appar\/","og_site_name":"The Codest","article_published_time":"2019-04-24T08:53:32+00:00","article_modified_time":"2026-04-24T11:28:38+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/stimulusreflex.jpg","type":"image\/jpeg"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"3 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"StimulusReflex \u2013 a quick way to create reactive apps","datePublished":"2019-04-24T08:53:32+00:00","dateModified":"2026-04-24T11:28:38+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/"},"wordCount":586,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/stimulusreflex.jpg","articleSection":["Software Development"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/","url":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/","name":"StimulusReflex - ett snabbt s\u00e4tt att skapa reaktiva appar - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/stimulusreflex.jpg","datePublished":"2019-04-24T08:53:32+00:00","dateModified":"2026-04-24T11:28:38+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/stimulusreflex.jpg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/stimulusreflex.jpg","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/stimulusreflex-a-quick-way-to-create-reactive-apps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"StimulusReflex \u2013 a quick way to create reactive apps"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/sv\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/posts\/3615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/comments?post=3615"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/posts\/3615\/revisions"}],"predecessor-version":[{"id":8413,"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/posts\/3615\/revisions\/8413"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/media\/3616"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/media?parent=3615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/categories?post=3615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/sv\/wp-json\/wp\/v2\/tags?post=3615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}