【React】オブジェクトを子コンポーネントに渡すときのTypeScriptの型を指定する
5236 ワード
概要
Reactで子コンポーネントにデータを渡す時にオブジェクトの場合は子コンポーネントで型を指定する場合はその構造も再現しないといけないらしい。
コード
親コンポーネント
例えば、親コンポーネントで下記のようなresults
はsetResults
で複数の値を持つプロパティ。
このプロパティの型はResultsStateType
と指定しています。
そしてresults
プロパティはResults
という子コンポーネントに渡しています。
App
type ResultsStateType = {
country: string;
cityName: string;
};
function App() {
const [results, setResults] = useState<ResultsStateType>({
country: "",
cityName: ""
});
}
return (
<div className="App">
<Results results={results} />
</div>
);
子コンポーネントでの型指定
親コンポーネントから受け取ったプロパティは子コンポーネントでも型を指定しますが、親とは少し型を指定する方法が違う。
親コンポーネントから受け取ったプロパティはresluts
という名前で受け取ってしますので、同じ構造にしてあげる必要があるようです。
Resutls
type ResultsPropsType = {
results:{
country: string;
cityName: string;
}
};
const Results=(props:ResultsPropsType)=>{
return(
<h1>子コンポーネント</h1>
)
}
export default Results
Author And Source
この問題について(【React】オブジェクトを子コンポーネントに渡すときのTypeScriptの型を指定する), 我々は、より多くの情報をここで見つけました https://zenn.dev/kiriyama/articles/20f361cc5492f6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol