{"id":30032,"date":"2025-09-22T18:40:21","date_gmt":"2025-09-22T15:40:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/anasayfa\/"},"modified":"2025-09-22T21:19:46","modified_gmt":"2025-09-22T18:19:46","slug":"react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/","title":{"rendered":"React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?"},"content":{"rendered":"<p># React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?<\/p>\n<p>Karma\u015f\u0131k web uygulamalar\u0131nda kullan\u0131c\u0131 deneyimini optimize etmek i\u00e7in ak\u0131ll\u0131 y\u00f6nlendirme stratejileri hayati \u00f6nem ta\u015f\u0131r.  Kullan\u0131c\u0131n\u0131n rol\u00fcne, oturum durumuna veya di\u011fer fakt\u00f6rlere ba\u011fl\u0131 olarak farkl\u0131 sayfalara y\u00f6nlendirme, uygulaman\u0131z\u0131n performans\u0131n\u0131 ve kullan\u0131c\u0131 memnuniyetini art\u0131r\u0131r.  Bu makalede, React Router v4 kullanarak ko\u015fullu ve duyarl\u0131 y\u00f6nlendirme mekanizmalar\u0131 nas\u0131l kurulur, ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z.  Farkl\u0131 karma\u015f\u0131kl\u0131k seviyelerindeki \u00f6rneklerle,  performans optimizasyon tekniklerini ve olas\u0131 sorunlar\u0131 ele alaca\u011f\u0131z.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu makale, React Router v4 ile ko\u015fullu ve duyarl\u0131 y\u00f6nlendirmeyi \u00f6\u011frenmek i\u00e7in \u00fc\u00e7 a\u015famal\u0131 bir yol haritas\u0131 sunar:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong> Temel kavramlar, basit \u00f6rnekler ve ad\u0131m ad\u0131m uygulama.<\/p>\n<p><strong>Orta:<\/strong> Ger\u00e7ek d\u00fcnya senaryolar\u0131, daha karma\u015f\u0131k \u00f6rnekler ve optimizasyon ipu\u00e7lar\u0131.<\/p>\n<p><strong>\u0130leri D\u00fczey:<\/strong> Performans analizi, edge case&#8217;ler ve geli\u015fmi\u015f teknikler.<\/p>\n<p><strong>1. Temel Kavramlar: React Router v4&#8217;e Giri\u015f<\/strong><\/p>\n<p>React Router, React uygulamalar\u0131nda istemci taraf\u0131 y\u00f6nlendirme sa\u011flayan bir k\u00fct\u00fcphanedir.  v4 s\u00fcr\u00fcm\u00fc, daha temiz ve esnek bir API sunar.  Temel bile\u015fenleri <code class=\"language-\">BrowserRouter<\/code>, <code class=\"language-\">Switch<\/code>, <code class=\"language-\">Route<\/code>, ve <code class=\"language-\">Link<\/code>&#8216;tir.  <code class=\"language-\">BrowserRouter<\/code>, uygulaman\u0131z\u0131n taray\u0131c\u0131 tarih\u00e7esini kullanmas\u0131n\u0131 sa\u011flar. <code class=\"language-\">Switch<\/code>, birden fazla rota tan\u0131mlad\u0131\u011f\u0131n\u0131zda sadece birinin e\u015fle\u015fmesini garanti eder. <code class=\"language-\">Route<\/code>, belirli bir yola kar\u015f\u0131l\u0131k gelen bile\u015feni render eder.  <code class=\"language-\">Link<\/code>, kullan\u0131c\u0131lar\u0131 farkl\u0131 rotalara y\u00f6nlendiren ba\u011flant\u0131lar olu\u015fturur.<\/p>\n<p>\u00d6rne\u011fin, basit bir uygulamada:<\/p>\n<pre class=\"language-javascript\"><code>import React from 'react';\nimport { BrowserRouter as Router, Route, Link } from 'react-router-dom';\n\nconst Home = () =&gt; &lt;h1&gt;Anasayfa&lt;\/h1&gt;;\nconst About = () =&gt; &lt;h1&gt;Hakk\u0131m\u0131zda&lt;\/h1&gt;;\n\nconst App = () =&gt; (\n  &lt;Router&gt;\n    &lt;div&gt;\n      &lt;nav&gt;\n        &lt;Link to=&quot;\/&quot;&gt;Anasayfa&lt;\/Link&gt; | &lt;Link to=&quot;\/about&quot;&gt;Hakk\u0131m\u0131zda&lt;\/Link&gt;\n      &lt;\/nav&gt;\n\n      &lt;Switch&gt;\n        &lt;Route exact path=&quot;\/&quot; component={Home} \/&gt;\n        &lt;Route path=&quot;\/about&quot; component={About} \/&gt;\n      &lt;\/Switch&gt;\n    &lt;\/div&gt;\n  &lt;\/Router&gt;\n);\n\nexport default App;<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">\/<\/code> yoluna <code class=\"language-\">Home<\/code> bile\u015feni, <code class=\"language-\">\/about<\/code> yoluna ise <code class=\"language-\">About<\/code> bile\u015feni render edilir. <code class=\"language-\">exact<\/code> prop&#8217;u, <code class=\"language-\">\/about<\/code> yoluna ek bir rota eklendi\u011finde yaln\u0131zca <code class=\"language-\">\/<\/code> yoluna tam e\u015fle\u015fmeyi sa\u011flar. Daha detayl\u0131 bilgi i\u00e7in [Fatih Soysal&#8217;\u0131n React Router rehberine](https:\/\/fatihsoysal.com\/react-router-rehberi) bakabilirsiniz.<\/p>\n<p><strong>2. Ko\u015fullu Y\u00f6nlendirme Nas\u0131l Yap\u0131l\u0131r?<\/strong><\/p>\n<p>Ko\u015fullu y\u00f6nlendirme, kullan\u0131c\u0131 oturum a\u00e7ma durumu, rol\u00fc veya di\u011fer ko\u015fullara ba\u011fl\u0131 olarak farkl\u0131 rotalara y\u00f6nlendirme yapmay\u0131 sa\u011flar.  Bunun i\u00e7in <code class=\"language-\">Redirect<\/code> bile\u015fenini ve ko\u015fullu mant\u0131k kullan\u0131r\u0131z.<\/p>\n<p><strong>\u00d6rnek Senaryo:<\/strong>  Oturum a\u00e7mam\u0131\u015f bir kullan\u0131c\u0131n\u0131n <code class=\"language-\">\/profile<\/code> yoluna eri\u015fmeye \u00e7al\u0131\u015fmas\u0131n\u0131 engellemek ve onu <code class=\"language-\">\/login<\/code> yoluna y\u00f6nlendirmek.<\/p>\n<pre class=\"language-javascript\"><code>import React from 'react';\nimport { BrowserRouter as Router, Route, Switch, Redirect } from 'react-router-dom';\n\nconst Profile = () =&gt; (\n  &lt;div&gt;\n    &lt;h1&gt;Profil Sayfas\u0131&lt;\/h1&gt;\n    &lt;p&gt;Ho\u015f geldiniz!&lt;\/p&gt;\n  &lt;\/div&gt;\n);\n\nconst Login = () =&gt; (\n  &lt;div&gt;\n    &lt;h1&gt;Giri\u015f Yap&lt;\/h1&gt;\n    &lt;button&gt;Giri\u015f&lt;\/button&gt;\n  &lt;\/div&gt;\n);\n\nconst App = () =&gt; {\n  const isLoggedIn = false; \/\/ Oturum durumu\n\n  return (\n    &lt;Router&gt;\n      &lt;Switch&gt;\n        &lt;Route exact path=&quot;\/&quot; component={() =&gt; &lt;h1&gt;Anasayfa&lt;\/h1&gt;} \/&gt;\n        &lt;Route path=&quot;\/login&quot; component={Login} \/&gt;\n        &lt;Route path=&quot;\/profile&quot;&gt;\n          {isLoggedIn ? &lt;Profile \/&gt; : &lt;Redirect to=&quot;\/login&quot; \/&gt;}\n        &lt;\/Route&gt;\n      &lt;\/Switch&gt;\n    &lt;\/Router&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">isLoggedIn<\/code> de\u011fi\u015fkeni oturum durumunu temsil eder.  E\u011fer <code class=\"language-\">false<\/code> ise, <code class=\"language-\">\/profile<\/code> yoluna eri\u015fim denendi\u011finde kullan\u0131c\u0131 <code class=\"language-\">\/login<\/code> yoluna y\u00f6nlendirilir.<\/p>\n<p><strong>3. Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Yap\u0131l\u0131r?<\/strong><\/p>\n<p>Duyarl\u0131 y\u00f6nlendirme, URL&#8217;deki parametrelere veya dinamik k\u0131s\u0131mlara ba\u011fl\u0131 olarak farkl\u0131 i\u00e7erikler g\u00f6stermeyi sa\u011flar.  Bunun i\u00e7in <code class=\"language-\">:paramName<\/code> s\u00f6zdizimi kullan\u0131l\u0131r.<\/p>\n<p><strong>\u00d6rnek Senaryo:<\/strong> Bir \u00fcr\u00fcn detay sayfas\u0131n\u0131 g\u00f6steren bir uygulama.<\/p>\n<pre class=\"language-javascript\"><code>import React from 'react';\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\n\nconst ProductDetails = ({ match }) =&gt; (\n  &lt;div&gt;\n    &lt;h1&gt;\u00dcr\u00fcn Detay\u0131: {match.params.productId}&lt;\/h1&gt;\n    {\/* \u00dcr\u00fcn detaylar\u0131n\u0131 burada g\u00f6sterin *\/}\n  &lt;\/div&gt;\n);\n\nconst App = () =&gt; (\n  &lt;Router&gt;\n    &lt;Switch&gt;\n      &lt;Route exact path=&quot;\/&quot; component={() =&gt; &lt;h1&gt;\u00dcr\u00fcnler&lt;\/h1&gt;} \/&gt;\n      &lt;Route path=&quot;\/product\/:productId&quot; component={ProductDetails} \/&gt;\n    &lt;\/Switch&gt;\n  &lt;\/Router&gt;\n);\n\nexport default App;<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">\/product\/123<\/code> yoluna eri\u015fildi\u011finde, <code class=\"language-\">ProductDetails<\/code> bile\u015feni <code class=\"language-\">match.params.productId<\/code> de\u011fi\u015fkeni ile <code class=\"language-\">123<\/code> de\u011ferini al\u0131r ve \u00fcr\u00fcn detay\u0131n\u0131 g\u00f6sterir.<\/p>\n<p><strong>4. Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Vaka Analizi<\/strong><\/p>\n<p><strong>Senaryo 1: \u00c7oklu Rol Deste\u011fi:<\/strong> Bir e-ticaret uygulamas\u0131nda, m\u00fc\u015fteri, y\u00f6netici ve moderat\u00f6r rolleri olabilir.  Her role g\u00f6re farkl\u0131 sayfalara eri\u015fim izni vermeliyiz.  Bunun i\u00e7in, yetkilendirme mant\u0131\u011f\u0131n\u0131 <code class=\"language-\">Route<\/code> bile\u015feninin <code class=\"language-\">render<\/code> prop&#8217;u i\u00e7inde uygulayabiliriz.<\/p>\n<p><strong>Senaryo 2:  Oturum S\u00fcresi Kontrol\u00fc:<\/strong> Kullan\u0131c\u0131n\u0131n oturum s\u00fcresi doldu\u011funda giri\u015f sayfas\u0131na y\u00f6nlendirme.  Bunun i\u00e7in, oturum s\u00fcresini takip eden bir servis ve <code class=\"language-\">Redirect<\/code> bile\u015feni kullanabiliriz.<\/p>\n<p><strong>Senaryo 3:  404 Sayfas\u0131:<\/strong>  Ge\u00e7ersiz bir URL&#8217;ye eri\u015fildi\u011finde 404 hatas\u0131 g\u00f6steren bir sayfa olu\u015fturmak.  Bunun i\u00e7in, <code class=\"language-\">Switch<\/code> bile\u015feninin sonuna bir <code class=\"language-\">Route<\/code> ekleyip <code class=\"language-\">component<\/code> prop&#8217;una 404 hatas\u0131 sayfas\u0131n\u0131 atayabiliriz.<\/p>\n<p><strong>5. Performans Optimizasyonu<\/strong><\/p>\n<p>React Router&#8217;\u0131n performans\u0131n\u0131 optimize etmek i\u00e7in a\u015fa\u011f\u0131daki teknikleri kullanabilirsiniz:<\/p>\n<p>* <strong><code class=\"language-\">lazy<\/code> ve <code class=\"language-\">Suspense<\/code>:<\/strong> B\u00fcy\u00fck bile\u015fenleri dinamik olarak y\u00fcklemek i\u00e7in <code class=\"language-\">React.lazy<\/code> ve <code class=\"language-\">Suspense<\/code> kullan\u0131n. Bu, ilk y\u00fcklenme s\u00fcresini k\u0131salt\u0131r.<br \/>\n* <strong><code class=\"language-\">Switch<\/code> Bile\u015feni:<\/strong> Sadece bir rotay\u0131 e\u015fle\u015ftirecek \u015fekilde <code class=\"language-\">Switch<\/code> bile\u015fenini kullan\u0131n. Gereksiz e\u015fle\u015ftirmeleri \u00f6nler.<br \/>\n* <strong>Kod B\u00f6l\u00fcmleme:<\/strong> Uygulaman\u0131z\u0131 daha k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6l\u00fcn ve bunlar\u0131 gerekti\u011finde y\u00fckleyin.  Webpack veya di\u011fer paket y\u00f6neticilerinin kod b\u00f6l\u00fcmleme \u00f6zelliklerini kullan\u0131n.<\/p>\n<p><strong>6. \u0130leri D\u00fczey Konular: Edge Case&#8217;ler ve Geli\u015fmi\u015f Teknikler<\/strong><\/p>\n<p>* <strong>Nested Routes:<\/strong> \u0130\u00e7 i\u00e7e ge\u00e7mi\u015f rotalar olu\u015fturmak, karma\u015f\u0131k uygulamalar i\u00e7in gereklidir.<br \/>\n* <strong>Programatik Y\u00f6nlendirme:<\/strong>  <code class=\"language-\">useHistory<\/code> hook&#8217;u kullanarak JavaScript kodundan y\u00f6nlendirme yapmak.<br \/>\n* <strong>URL Parametreleri:<\/strong>  Query parametreleri (<code class=\"language-\">?param=value<\/code>) kullanarak rotalara ek veri ge\u00e7irmek.<\/p>\n<p><strong>7.  React Router v4 ile \u0130lgili S\u0131k\u00e7a Sorulan Sorular<\/strong><\/p>\n<p>1. <strong>React Router v5 ile aras\u0131ndaki farklar nelerdir?<\/strong> v5, baz\u0131 API de\u011fi\u015fiklikleri ve performans iyile\u015ftirmeleri i\u00e7erir.  Ancak, temel konseptler benzerdir.<\/p>\n<p>2. <strong>Ko\u015fullu y\u00f6nlendirmeyi nas\u0131l daha temiz bir \u015fekilde yapabilirim?<\/strong>  Yetkilendirme ve yetkilendirme mant\u0131\u011f\u0131n\u0131 ayr\u0131 bir bile\u015fene ta\u015f\u0131yarak kodunuzu daha okunabilir ve bak\u0131m\u0131 kolay hale getirebilirsiniz.<\/p>\n<p>3. <strong>Duyarl\u0131 rotalarda parametreleri nas\u0131l do\u011frulayabilirim?<\/strong>  Parametreleri do\u011frulamak i\u00e7in, <code class=\"language-\">match.params<\/code> i\u00e7indeki de\u011ferleri kontrol eden bir fonksiyon yazabilirsiniz.<\/p>\n<p>4. <strong>Performans sorunlar\u0131 nas\u0131l giderilir?<\/strong>  <code class=\"language-\">React.lazy<\/code> ve <code class=\"language-\">Suspense<\/code> kullan\u0131m\u0131, kod b\u00f6l\u00fcmleme ve gereksiz e\u015fle\u015fmeleri \u00f6nleme gibi optimizasyon tekniklerini uygulay\u0131n.<\/p>\n<p>5. <strong>React Router&#8217;da hata y\u00f6netimi nas\u0131l yap\u0131l\u0131r?<\/strong>  <code class=\"language-\">try...catch<\/code> bloklar\u0131 kullanarak hata durumlar\u0131n\u0131 yakalayabilir ve kullan\u0131c\u0131ya uygun mesajlar g\u00f6sterebilirsiniz.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bu makalede, React Router v4 ile ko\u015fullu ve duyarl\u0131 y\u00f6nlendirme kurulumunu ad\u0131m ad\u0131m inceledik.  Ba\u015flang\u0131\u00e7 seviyesinden ileri seviyeye kadar farkl\u0131 \u00f6rnekler ve ger\u00e7ek d\u00fcnya senaryolar\u0131 ile konuyu detayl\u0131 olarak ele ald\u0131k.  Performans optimizasyonu ve olas\u0131 sorunlar hakk\u0131nda bilgi vererek, daha g\u00fc\u00e7l\u00fc ve verimli React uygulamalar\u0131 geli\u015ftirmenize yard\u0131mc\u0131 olmay\u0131 ama\u00e7lad\u0131k.  Unutmay\u0131n ki, uygulaman\u0131z\u0131n karma\u015f\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131 olarak, daha geli\u015fmi\u015f teknikler kullanman\u0131z gerekebilir.  Bu makale, bu yolculukta size temel bir rehber niteli\u011findedir.  Daha fazla bilgi i\u00e7in [Fatih Soysal&#8217;\u0131n web sitesini](https:\/\/fatihsoysal.com) ziyaret edebilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur? Karma\u015f\u0131k web uygulamalar\u0131nda kullan\u0131c\u0131 deneyimini optimize etmek&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[128],"tags":[],"class_list":{"0":"post-30032","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-react","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Anasayfa<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-22T15:40:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-22T18:19:46+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?\",\"datePublished\":\"2025-09-22T15:40:21+00:00\",\"dateModified\":\"2025-09-22T18:19:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/\"},\"wordCount\":967,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"React\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/\",\"name\":\"Anasayfa\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-22T15:40:21+00:00\",\"dateModified\":\"2025-09-22T18:19:46+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Anasayfa","description":"Hi\u00e7bir etiketi bulunamad\u0131.","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:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/","og_locale":"tr_TR","og_type":"article","og_title":"React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-22T15:40:21+00:00","article_modified_time":"2025-09-22T18:19:46+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?","datePublished":"2025-09-22T15:40:21+00:00","dateModified":"2025-09-22T18:19:46+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/"},"wordCount":967,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["React"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/","url":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/","name":"Anasayfa","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-22T15:40:21+00:00","dateModified":"2025-09-22T18:19:46+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/react-router-v4-ile-kosullu-ve-duyarli-yonlendirme-nasil-kurulur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"React Router v4 ile Ko\u015fullu ve Duyarl\u0131 Y\u00f6nlendirme Nas\u0131l Kurulur?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=30032"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30032\/revisions"}],"predecessor-version":[{"id":30040,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30032\/revisions\/30040"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=30032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=30032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=30032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}