前提
tsx
1<div> 2 <Child numberArray={numberArray} setState={setState} /> 3</div>
親コンポーネントから子コンポーネントへnumberの配列とsetStateを渡し、
tsx
1type useChildProps = { 2 numberArray: number[]; 3 setState: Dispatch<SetStateAction<boolean>>; 4} 5 6const useChild = ({numberArray, setState}: useChildProps ) => { 7 ... 8 return {hoge, fuga} 9} 10 11const ChildContainer: React.FC<useChildProps > = ({numberArray, setState}) => { 12 const [hoge, fuga] = useChild({numberArray, setState}); 13 return <ChildComponent hoge={hoge} fuga={fuga}> 14}
ChildContainerでprops受け取り、そのままカスタムフックに渡し、カスタムフックの返り値をChildComponentに渡しています。
上記の構成およびコードの書き方だと、VSCodeが親コンポーネントのpropsのnumberArrayを対象に下記のエラーを表示します。
型 '{ numberArray: number[]; setState: Dispatch<SetStateAction<boolean>>; }' を型 'IntrinsicAttributes & ChildComponentProps & { children?: ReactNode; }' に割り当てることはできません。
プロパティ 'numberArray' は型 'IntrinsicAttributes & AlarmingComponentProps & { children?: ReactNode; }' に存在しません。
このエラーはどういった書き方や、どういうことが起きていると表示されるエラーでしょうか。
このエラーを再現しようとサンプルをCodeSandBoxで作ってみたものの、上記のエラーとは全く違うエラーが表示されたので、具体的な回答をいただくのが難しそうなことと、根本的に私の考え方や書き方に誤りがあると考え質問しました。
サンプル
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/15 14:18
2020/02/15 14:26