2017-05-09 7 views
0

を反応させる:がwebpack2を持つクラスを比較すると、私はWebPACKの2にアップグレードする前に、私は次のことを行うことができ

children: PropTypes.arrayOf((propValue, key) => { 
     const type = propValue[key].type 
     if (type !== Column && type !== ColumnGroup) { 
     throw new Error('<Table> can only have <Column> and <ColumnGroup> as children.') 
     } 
    }) 

これはもはやエラーは常にスローされますWebPACKの2を使用して動いていないようにみえ。 webpack 2を使用して反応クラスを比較する適切な方法は何ですか?それは、生産以外の何かに等しいNODE_ENVの設定とは何かを持っている

これは私の.babelrc

{ 
    "presets": [ 
    ["es2015", {"modules": false}], 
    "react" 
    ], 
    "plugins": [ 
    "transform-class-properties", 
    "transform-object-rest-spread", 
    "react-hot-loader/babel" 
    ] 
} 

UPDATEです。私はここでこれを再現することができます:https://github.com/dadamssg/react-class-bug/tree/master

+0

ある種の小型化装置を使用していますか? –

+0

番号。私はCommonsChunkPluginを使用しています。たぶんそれはそれと関係がありますか? – David

+0

私はそうは思わない。どのバージョンのReactを使用していますか? –

答えて

0

これは明らかに反応ホットローダーによって引き起こされる既知の問題です。

https://github.com/facebook/react/issues/9652

私は、コンポーネントクラスに自分の静的変数を追加して、それを比較することにより、その周りに働きました。

children: PropTypes.arrayOf((propValue, key) => { 
     const {_componentClass} = propValue[key].type 
     if (_componentClass !== Column._componentClass && _componentClass !== ColumnGroup._componentClass) { 
     throw new Error('<Table> can only have <Column> and <ColumnGroup> as children.') 
     } 
    }) 

理想的ではありませんが、機能します。

関連する問題