<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CodingMation</title>
    <description>The latest articles on DEV Community by CodingMation (@codingmation).</description>
    <link>https://dev.to/codingmation</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4119586%2F9f4cdec2-80f8-4612-8779-892ae877eb70.png</url>
      <title>DEV Community: CodingMation</title>
      <link>https://dev.to/codingmation</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codingmation"/>
    <language>en</language>
    <item>
      <title>How to build an Indian State &amp; District Dependent Dropdown in React (Clean JSON Dataset)</title>
      <dc:creator>CodingMation</dc:creator>
      <pubDate>Thu, 10 Sep 2026 15:21:44 +0000</pubDate>
      <link>https://dev.to/codingmation/how-to-build-an-indian-state-district-dependent-dropdown-in-react-clean-json-dataset-84g</link>
      <guid>https://dev.to/codingmation/how-to-build-an-indian-state-district-dependent-dropdown-in-react-clean-json-dataset-84g</guid>
      <description>&lt;p&gt;Building web forms in React often requires asking users for their Indian State and District. Creating dependent dropdowns can be frustrating when you don't have a clean, up-to-date dataset.&lt;/p&gt;

&lt;p&gt;To solve this, I created a lightweight, open-source dataset containing all Indian States, Union Territories, and their corresponding districts.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔗 GitHub Repository
&lt;/h3&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/CodingMation/indian-states-districts" rel="noopener noreferrer"&gt;https://github.com/CodingMation/indian-states-districts&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔗 WebSite
&lt;/h3&gt;

&lt;p&gt;👉 &lt;a href="https://codingmation.github.io/indian-states-districts" rel="noopener noreferrer"&gt;https://codingmation.github.io/indian-states-districts&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 How to fetch it directly into your app (No local file needed)
&lt;/h3&gt;

&lt;p&gt;You can fetch the data dynamically using the raw GitHub URL:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
javascript
fetch("[https://raw.githubusercontent.com/CodingMation/indian-states-districts/main/states-districts.json](https://raw.githubusercontent.com/CodingMation/indian-states-districts/main/states-districts.json)")
  .then((res) =&amp;gt; res.json())
  .then((data) =&amp;gt; console.log(data))
  .catch((err) =&amp;gt; console.error("Error fetching data:", err));



Quick React Implementation Example
Here is how you can use this JSON dataset to create a dependent State-District selector in React:

JavaScript


import React, { useState, useEffect } from "react";

export default function LocationSelector() {
  const [data, setData] = useState([]);
  const [selectedState, setSelectedState] = useState("");
  const [districts, setDistricts] = useState([]);

  useEffect(() =&amp;gt; {
    fetch("[https://raw.githubusercontent.com/CodingMation/indian-states-districts/main/states-districts.json](https://raw.githubusercontent.com/CodingMation/indian-states-districts/main/states-districts.json)")
      .then((res) =&amp;gt; res.json())
      .then((jsonData) =&amp;gt; setData(jsonData));
  }, []);

  const handleStateChange = (e) =&amp;gt; {
    const stateName = e.target.value;
    setSelectedState(stateName);

    const matchedState = data.find((item) =&amp;gt; item.state === stateName);
    setDistricts(matchedState ? matchedState.districts : []);
  };

  return (
    &amp;lt;div style={{ display: "flex", gap: "10px" }}&amp;gt;
      {/* State Dropdown */}
      &amp;lt;select onChange={handleStateChange} value={selectedState}&amp;gt;
        &amp;lt;option value=""&amp;gt;Select State&amp;lt;/option&amp;gt;
        {data.map((item) =&amp;gt; (
          &amp;lt;option key={item.state} value={item.state}&amp;gt;
            {item.state}
          &amp;lt;/option&amp;gt;
        ))}
      &amp;lt;/select&amp;gt;

      {/* District Dropdown */}
      &amp;lt;select disabled={!selectedState}&amp;gt;
        &amp;lt;option value=""&amp;gt;Select District&amp;lt;/option&amp;gt;
        {districts.map((district) =&amp;gt; (
          &amp;lt;option key={district} value={district}&amp;gt;
            {district}
          &amp;lt;/option&amp;gt;
        ))}
      &amp;lt;/select&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
🤝 Contributions &amp;amp; Feedback
If you find missing districts or want CSV/SQL formats added to the dataset, feel free to star the repo or open an issue on GitHub!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
