回答編集履歴
1
別に例外でなくても回せると言えば回せる
    
        answer	
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Inputの`onClick`から渡される型が汎用的な`string`である以上、(型理論的には)`ID`にない値が来る可能性も否定できません。
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            * その可能性を無視して、`onClick={handleClick as (val: string) => void}`のようにキャストしてごまかす
         
     | 
| 
       4 
     | 
    
         
            -
            * `handleClick`の引数型を`string`に変えて、`ID` 
     | 
| 
      
 4 
     | 
    
         
            +
            * `handleClick`の引数型を`string`に変えて、`ID`のときだけ処理を続けさせるようなType Guardを入れる
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            といった、2方向のやり方が考えられます。
         
     |