2016-09-06 2 views

答えて

3

あなたは、サードパーティのライブラリを使用して気にしない場合は、lodashのomit機能を使用することができます。

{ ..._.omit(this.props, ['className', 'id']) } 

主な利点:madox2の提案とは異なり、あなたは任意の変数名を使用してスコープを汚染しません特定の小道具を子コンポーネントに渡さないようにするだけです。また、この回答を書いている時点では、実験的なES.next機能も扱っていません。

16

あなたはこの仕事をする非構造を採用することができます。この構文は、あなたが(例えばバベルを使用して)この機能を有効にするには、コードをtranspileする必要がありますECMAScriptの提案(休憩/拡がり性)が現在ある

const { className, id, ...newProps } = this.props; // eslint-disable-line 
// `newProps` variable does not contain `className` and `id` properties 

ので。

+1

これは素晴らしいですが、eslintなどを持たない簡単な方法があり、このパターンを使用して未使用の変数宣言について不平を言っています(このルールを無効にする以外) – m90

+0

@madoxこれはいいですが、手動で小道具を手作業で処理する必要があります。必要なものを含めるのではなく、必要なものを除外して、それらのすべてを使い切って利用したいのですが – Ilja

+0

@ m90が追加されましたこの特定の行のためにeslintを無効にするコメント – madox2

関連する問題