2017-08-01 6 views
0

私の反応するネイティブプロジェクトでは、次の警告があります。ノード・モジュールのフォルダ内の、特にモジュールにネイティブの警告に反応します - 例えば "PropTypeは別のパッケージに移動されました"

Warning: PropTypes has been moved to a separate package. Accessing React.PropTypes is no longer supported and will be removed completely in React 16. Use the prop-types package on npm instead. 

Warning: React.createClass is no longer supported. Use a plain JavaScript class instead. If you're not yet ready to migrate, create-react-class is available on npm as a drop-in replacement. 

Warning: View.propTypes has been deprecated and will be removed in a future version of ReactNative. Use ViewPropTypes instead. 

しかし、私は私のプロジェクトでこれを行っていないとグローバル検索をしたことをかなり確信している、それはそれらの事例のように思えるであることI自分自身をインストールしていない。私はどのように進めるべきですか?私はドキュメントに示唆されているようにリファクタリングするために次のコマンドを試しました。

jscodeshift -t react-codemod/transforms/React-PropTypes-to-prop-types.js <path> 

私が試したとき、いくつかのノードモジュールが壊れてしまい、アプリケーションをコンパイルできませんでした。私はそれ以来、npmモジュールを再インストールしなければならなかったので、私は進歩していません。

答えて

1

PropTypesが別のパッケージ( 'prop-types')に移動されるため、警告が発生します。また、React.createClassは非推奨です。

警告は、アプリまたは使用しているパッケージで発生します。

import PropTypes from 'prop-types'; 

を使用し、あなたのアプリケーションでそれを削除するには

はES6コンポーネントにReact.createClassを変換します。

あなたが使用しているパッケージで警告が発生した場合は、gitの問題を提起して、関係するパッケージの所有者に気を配ってください。ほとんどのパッケージはすでにこの変更を行っています。したがって、これらのパッケージをアップグレードするだけです。パッケージが最新のもので、エラーが解決しない場合は、問題を提起してください。

+0

これらの警告がどこで発生しているかを正確に知る方法はありますか?私はグローバル検索を行っていますが、警告がどのファイルを参照しているかはまだ不明です。 –

+0

サードパーティのデポに互換性がない場合、あなたは不運です。それらを更新する。もし一時停止しているデポがスイッチする時間になるかもしれません。そこにはしばしば触れられていない死んだ重量がたくさんあります。警告は 'env = 'development''のためだけであり、ビルドには影響しません。また、反応ネイティブ16はまだ間にあります。 –

+0

@DimitarChristoffありがとう! –

関連する問題