Eslint-plugin-reactでReactとESLintを使用しています。 1つのファイルでprop-typesルールを無効にします。
var React = require('react');
var Model = require('./ComponentModel');
var Component = React.createClass({
/* eslint-disable react/prop-types */
propTypes: Model.propTypes,
/* eslint-enable react/prop-types */
render: function () {
return (
<div className="component">
{this.props.title}
</div>
);
}
});
これをファイルの上に置くだけです:
/* eslint react/prop-types: 0 */
ファイルが1つしかない場合は、prop-type検証を無効にする必要があります。
/* eslint react/prop-types: 0 */
複数のファイルがある場合は、ルートディレクトリの.eslintrc
ファイルにpropタイプ検証を無効にするルールを追加できます。
{
"plugins": [
"react"
],
"rules": {
"react/prop-types": 0
}
}
詳細なルールについては、チェックアウトできます このリンク 私の問題は解決しました。また、不便な点は eslint-plugin-react のgithubのドキュメントで無効または有効にする方法をご覧ください。さまざまなオプションがあります。
私がしなければなりませんでした:
/* eslint react/forbid-prop-types: 0 */
これはnot私のために働きました:
/* eslint react/prop-types: 0 */
.eslintrcファイルでグローバルに無効にするには:
{
"rules": {
"react/forbid-prop-types": 0
}
}
コンポーネント全体をeslintの無視コメントでラップする必要がありました。
var React = require('react');
var Model = require('./ComponentModel');
/* eslint-disable react/prop-types */
var Component = React.createClass({
propTypes: Model.propTypes,
render: function () {
return (
<div className="component">
{this.props.title}
</div>
);
}
});
/* eslint-enable react/prop-types */
メジャーコンポーネントと同じファイルに小さなコンポーネントがある場合があります。 propTypesが過剰に思えます。それから私はこのようなことをします
// eslint-disable-next-line react/prop-types
const RightArrow = ({ onPress, to }) => (<TouchableOpacity onPress={() => onPress(to)} style={styles.rightArrow}><Chevrons.chevronRight size={25} color="grey" /></TouchableOpacity>);