0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

‘e’ implicitly has an ‘any’ type

Posted at

問題

以下のコードで ‘e’ implicitly has an ‘any’ type というエラーが出ていた。

<DropdownMenu>
  {props.options.map((item, idx) => (
    <DropdownOption
      key={idx}
      onMouseDown={(e) => handleSelectValue(e, item)}
      onClick={(e) => handleSelectValue(e, item)}
    >
      <DropdownItem item={item} />
    </DropdownOption>
  ))}
</DropdownMenu>

動機

DropdownOption を div タグに変えるとエラーが消えるが、DropdownOption は

const DropdownOption = styled.div`
  padding: 8px 12px 8px 12px;
  &:hover {
    background-color: #f9f9f9;
  }
`;

という要素であり、div に少し装飾を加えた程度であるため、エラーの原因になるとは考えづらい。そこでライブラリのバグではないかと考えた。

行動

参考文献を見ると、同じエラーになっている人がおり、styled-components のアップデートで解決していた。そこで、styled-components をアップデートした。

teppe@LAPTOP-N72NG92A MINGW64 ~/Documents/private/programming/js/react/shop/src/components/molecules/Dropdown (main)    
$ npm styled-components --version
9.6.6
(base) 
teppe@LAPTOP-N72NG92A MINGW64 ~/Documents/private/programming/js/react/shop/src/components/molecules/Dropdown (main)    
$ npm update styled-components

added 1 package, changed 1 package, and audited 1593 packages in 3s

296 packages are looking for funding
  run `npm fund` for details

2 moderate severity vulnerabilities

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
(base) 
teppe@LAPTOP-N72NG92A MINGW64 ~/Documents/private/programming/js/react/shop/src/components/molecules/Dropdown (main)    
$ npm styled-components --version
9.6.6

バージョンは変わっていないが中身が少し変わった。

変更点は以下のようになっていた

image.png

結果

event の型に関するエラーは styled-components のバグによるものだと考えられ、 styled-components をアップデートすることで解消した。

参考文献

https://github.com/styled-components/styled-components/issues/4052

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?