Я новичок, чтобы реагировать. Я пишу сценарий в файл l oop UK json (../ data / UK. json) для отображения городов на экране. Внутри Великобритании. json, это список городской информации в Великобритании.
Например: ["Avon", "Бедфордшир" ... ... "Тайрон"]
Код будет l oop этого файла UK json и отображать каждый город на экране. Теперь я хочу добавить параметр, чтобы люди могли выбирать, какую страну показывать. Я добавляю еще один файл 4 json,
импорт FR из "../data/FR.json";
импорт ES из" ../data/ES.json ";
импорт ИТ из" ../data/IT.json";
импорт DE из "../data/DE.json";
Я также создал тип перечисления Locale, но я не знаю, как настроить код в файле кода 3. Не могли бы вы взглянуть?
Могу ли я создать карту в файле кода 3 и исходя из того, какой язык перешел из Home, я могу предоставить файл json. Это работает? Как мне настроить код?
Code file 1
export enum Locale {
UK = "en-GB",
DE = "de-DE",
FR = "fr-FR",
IT = "it-IT",
ES = "es-ES"
};
Code file 2
import * as React from "react";
import { Locale } from "../component/testLocale";
type Props = {
testLocale: Locale.UK
}
export class Home extends React.Component<Props, any> {
render() {
return (
<div className="home-background">
<Test testLocale={this.props.testLocale}/>
</div>
);
}
}
Code file 3
import React from "react";
import FR from "../data/FR.json";
import ES from "../data/ES.json";
import IT from "../data/IT.json";
import UK from "../data/UK.json";
import DE from "../data/DE.json";
import {Locale} from "./testLocale";
type State = {
index: number;
localeDate: string[]
};
type Props = {
testLocale: Locale;
};
export class Test extends React.Component<Props, State> {
timerID: number;
constructor(props: Props) {
super(props);
this.state = {
index: 0,
localeDate:UK,
};
this.timerID=0;
}
componentDidMount() {
this.timerID = window.setInterval(() => this.tick(), this.props.Duration);
}
tick(): void {
let index: number = this.state.index;
index +=1;
index = index % this.props.testLocale.length;
this.setState({ index });
}
componentWillUnmount() {
clearInterval(this.timerID);
}
render() {
const path:string = this.props.testLocale[this.state.index];
return (
<div className="hints-on-home-screen">
<div style={{
fontSize: this.props.testFontSize
}}>{UK[this.state.index]}</div>
</div>
);
}
}