0.3.1 • Published 3 years ago

japanese-city-data v0.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Overview

Japanese prefectures and cities data in tree structure

export type CityData = {
    label: string;
    value: number;
    children?: CityData[];
};

Example Usage with React

import React, {useEffect, useMemo, useState} from 'react';
import PrefectureData, {CityData} from 'japanese-city-data';

const Select = ({items, onValueChange, ...rest}: {items: CityData[], onValueChange: (value: number) => void}) => (
  <select onChange={e => onValueChange(e.target.value)} {...rest}>
    {items.map(({label, value}) => (
        <option key={value} value={value}>{label}</option>
    ))}
  </select>
);

const Component = () => {
    const [prefecture, setPrefecture] = useState(0);
    const [city, setCity] = useState(0);

    const CityData = useMemo(() => {
        return PrefectureData[prefecture]?.children || [];
    }, [prefecture]);

    useEffect(() => setCity(0), [prefecture]);

    return (
        <React.Fragment>
            <Select 
                items={PrefectureData} 
                value={prefecture} 
                onValueChange={value => setPrefecture(value)}
            />
            <Select 
                items={CityData}>
                value={city}
                onValueChange={value => setCity(value)}
            />
        </React.Fragment>
    );
};
0.3.1

3 years ago

0.3.0

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago