前提・実現したいこと
ReactをTypeScriptで記述する際、
コンポーネントのパラメーターにタイプ(インタフェース)のオブジェクトを直接渡そうとしたらエラーメッセージが出てしまいます。
個別プロパティ渡しではなくオブジェクトを自体を渡す方法があればご教授お願いします。
発生している問題・エラーメッセージ
タイプ(インタフェース)の個別プロパティを渡せば問題なく動作するのですが、
生成したオブジェクト自体を参照渡しすることができればと思い、コンポーネントに指定した時点でビルドチェックでのエラーとなってしまうのです。
Type '{ props: true; param1: true; }' is not assignable to type 'IntrinsicAttributes & Props & { children?: ReactNode; }'. Property 'props' does not exist on type 'IntrinsicAttributes & Props & { children?: ReactNode; }'.ts(2322)
該当のソースコード
下記の記述で「<MyComponent props=param1 />」の箇所で上記のエラーメッセージが表示されてしまいます。
type Props = {
name: string;
age : number;
}
const MyComponent: React.FC<Props> = (props) => {
return <div>{props.name} / {props.age}</div>
}
const param1: Props = {name: 'hoge', age: 20};
<MyComponent props=param1 />
試したこと
下記のようにMyComponentにPropsの変数を直接指定するパターンで動作できることは確認しています。
type Props = {
name: string;
age : number;
}
const MyComponent: React.FC<Props> = (props) => {
return <div>{props.name} / {props.age}</div>
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/17 01:35