質問: 型が違うプロパティを型を変えずに解決したい
下記で型 'string' を型 'ID' に割り当てることはできません。
というエラーが出ます。(実行はできます)
このエラーを解消するためにはどうすれば良いでしょうか。
下記のFormコンポーネントのconst handleClick = (value: ID) => { /* something process */ }
とInputコンポーネントのonClick: (value: string) => void
の型は変えない方法を探しています。
分かる方がいれば教えていただければと思います。
React
1import React from 'react' 2import Input from 'components/Card' 3import Input from 'components/Input' 4import {Props} from '.' 5 6type ID = "a" | "b" | "c" 7 8const Form = ({ onClick, className, props }: Props) => { 9 const handleClick = (value: ID) => { /* something process */ } 10 return ( 11 <Card> 12 {/* 省略 */} 13 <Input 14 onClick={handleClick} // ココで上記のエラーが出る 15 className={className} 16 props={props} 17 /> 18 </Card> 19 ) 20} 21 22export default Form 23
React
1import React from 'react' 2 3type Props = { 4 onClick: (value: string) => void 5 className: string 6 props: any 7} 8 9const Input = ({ onClick, className, props }: Props) => ( 10 <Input 11 onClick={onClick} 12 className={className} 13 props={props} 14 /> 15) 16 17export default Input
考えた方法
FormコンポーネントのhandleClick
を以下のように変える。
(うまくいかなかった)
const handleClick = (value: ID as string) => { /* something process */ }
回答1件
あなたの回答
tips
プレビュー