SFCでのeslintの'React' is defined but never used
SFC(stateless functional component) ではReact
が未使用の変数としてeslintに検知された。
import React from 'react' // <- 'React' is defined but never used no-unused-vars const Header = props => { return ( <header> <h1>{ props.title }</h1> </header> ) } export default Header
JSX
が変換された結果React.createElement
でコンポーネントが作られるので明示的にReact
をimport
する必要があり、その結果no-unused-vars
でひっかかるようなことになる。
jsx-uses-react
この問題は、eslint-plugin-reactのjsx-uses-react
を.eslintrc
に追加することで解決できた。
"react/jsx-uses-react": [1]
JSX expands to a call to React.createElement, a file which includes React but only uses JSX should consider the React variable as used.
React
をimport
するだけじゃなくてJSX
も使用している場合はReact
を使用されている変数とみなしてくれる。