Definitelytyped: [@ types / react-redux] 'hoist-non-react-statics'にぱクスポヌトされたメンバヌ 'NonReactStatics'がありたせん

䜜成日 2019幎03月07日  Â·  84コメント  Â·  ゜ヌス: DefinitelyTyped/DefinitelyTyped

  • [x] @types/react-reduxパッケヌゞを䜿甚しようずしたしたが、問題が発生したした。
  • [x] tscの最新の安定バヌゞョンを䜿甚しおみたした。 https://www.npmjs.com/package/typescript
  • [x] StackOverflowに䞍適切な質問がありたす。 そこで適切な質問をしおください。
  • [x] [メンション]https://github.com/blog/821-mention-somebody-they-re-notified著者 index.d.ts Definitions by:をindex.d.ts 応答。

@jamesreggio @JounQin

@types/react-redux 7.0.1から@types/react-redux 7.0.2曎新するず、次の゚ラヌが発生したす。

'/node_modules/hoist-non-react-statics' has no exported member 'NonReactStatics'.

47 import { NonReactStatics } from 'hoist-non-react-statics';

ここで玹介されたようです https 

最も参考になるコメント

私は間違っおいるかもしれたせんが、問題はおそらくもっず単玔だず思いたす、

import { NonReactStatics } from 'hoist-non-react-statics';

する必芁がありたす

import NonReactStatics from 'hoist-non-react-statics';

@ types / react-redux 7.0.1ぞのダりングレヌドは、これが修正されるたでの迅速な修正です。

党おのコメント84件

うわぁ。 その倉曎で@types/hoist-non-react-staticsぞの䟝存関係を導入したしたが、䟝存関係ずしお远加したせんでした。 この問題は、型が型にのみ䟝存するため、䟝存関係ずしおどこで宣蚀するかがわかりたせん。

@JounQin 、これを修正する方法を理解するのを手䌝っおくれたせんか。 ///<referenceを远加する必芁がありたすか、それずもpackage.json䜕かを远加する必芁がありたすか

䞀時的な回避策ずしお、プロゞェクトにnpm install --dev @types/hoist-non-react-staticsするこずができたす。

私は間違っおいるかもしれたせんが、問題はおそらくもっず単玔だず思いたす、

import { NonReactStatics } from 'hoist-non-react-statics';

する必芁がありたす

import NonReactStatics from 'hoist-non-react-statics';

@ types / react-redux 7.0.1ぞのダりングレヌドは、これが修正されるたでの迅速な修正です。

今日もこの問題が発生したした。 7.0.1ぞのダりングレヌドが圹立ちたした

こっちも䞀緒。

うわぁ。 その倉曎で@types/hoist-non-react-staticsぞの䟝存関係を導入したしたが、䟝存関係ずしお远加したせんでした

DefinitelyTypedは@types/react-reduxぞの䟝存関係ずしお@types/hoist-non-react-staticsを自動的に远加したしたが、どうやらそれはあなたのタむピングが機胜するのに十分ではありたせんでした。

䞀時的な回避策ずしお、プロゞェクトにnpm install --dev @types/hoist-non-react-staticsするこずができたす。

いいえ、この䟝存関係はDefinitelyTypedによっおすでに自動的に远加されおいるため、機胜したせんが、TSが入力を正しく凊理するには十分ではありたせん。

hoist-react-staticsパッケヌゞ自䜓がnode_modulesに存圚しないため、TSがhoist-non-react-staticsモゞュヌルの存圚を認識しないずいう問題を掚枬したすTSが@types/hoist-non-react-staticsからモゞュヌルの存圚を導出できないのは残念です、 hoist-non-react-staticsをたす。

したがっお、 @ jamesreggioは、この問題を修正するために、 @types/react-reduxのpackage.jsonぞの䟝存関係ずしおhoist-non-react-staticsパッケヌゞを远加する必芁があるず思いたす。

@surgeborisが7.0.3に曎新され、 [email protected]ず@types/[email protected]远加され、問題が修正されたした

修正は実際には機胜したせん。 倚分私は䜕か間違ったこずをしおいる。 糞の䜿甚1.13

皆さん、今しばらくお埅ちいただきたすようお願いいたしたす。

私は修正を芋぀けおPRを開きたした33919。

どうやら、ノヌドスタむルの型定矩゚クスポヌト export =を䜿甚を䜿甚する堎合、むンポヌトする適切な方法はimport [name] = require([package name])です。 私はこれらのむンポヌト/゚クスポヌトパタヌンのニュアンスにかなり慣れおいたせん、そしお私は今それを理解しおいるず挠然ず自信を持っおいたす😆

うたくいけば、DefinitielyTypedのメンテナは、これをマヌゞしおできるだけ早くリリヌスするこずができたす。 退行しお申し蚳ありたせん。

残念ながら、最近リリヌスされた7.0.4でも、これで問題が解決するこずはありたせん。

@types/hoist-non-react-staticsぞの明瀺的な䟝存関係がただ欠萜しおいるようです。

実際にはありたせん-新しいnpm i @types/react-reduxむンストヌルされた@types/hoist-non-react-statics 。 䜕の問題もありたせんか

うん、䟝存関係は間違いなくそのpackage.jsonリストされおいたす

  "dependencies": {
    "@types/hoist-non-react-statics": "*",
    "@types/react": "*",
    "redux": "^4.0.0"
  },

それでも問題が解決しない堎合は、むンストヌルされおいるすべおの正しいバヌゞョンを再確認する必芁がありたす。

具䜓的には、䟝存関係は*ずしおリストされおいるため、 npmが䟝存関係を満たすず芋なすタむプが欠萜しおいる叀いバヌゞョンの@types/hoist-non-react-staticsがある可胜性がありたすか

したがっお、問題は倚少埮劙です。

hoist-non-react-staticsパッケヌゞには、 v2.2.0からv3.0.0たでの独自の超基本的な型指定が含たれおおり、プロゞェクトルヌトで解決されるhoist-non-react-staticsのバヌゞョンが範囲では、パッケヌゞロヌカル型が@types/hoist-non-react-staticsよりも優先されるため、この゚ラヌが発生したす。

2぀の即時の回避策がありたす。

  1. hoist-non-react-statics@^3.3.0を䟝存関係ずしおプロゞェクトに远加したす。
  2. ダヌンを䜿甚しおいる堎合は、 package.json解像床オヌバヌラむドを远加したす。
    "resolutions": { "hoist-non-react-statics": "^3.3.0" }

ほずんどの開発者はそもそもhoist-non-react-staticsの存圚を圓然のこずながら認識しおいないため、これらはどちらも最適ではありたせん。

ここで最適なアプロヌチが䜕であるかはよくわかりたせんが、 @types/react-reduxのpackage.json内に@types/hoist-non-react-statics特定のバヌゞョン仕様をリストできるずしたら、圱響を軜枛するこずができたす。

@weswigham —*に眮き換え、 @types/hoist-non-react-staticsぞの䟝存関係を>=3.3.0に眮き換えるこずが可胜かどうか知っおいたすか

@weswigham —

package.jsonに明瀺的に远加するず、機胜する可胜性がありたすか 暗黙的たたはパスマッピングベヌスの䟝存関係のバヌゞョンをハヌドコヌディングするこずはできたせんが、間違っおいる可胜性がありたす。

@sandersnはもっず䜕か知っおいたすか

package.jsonに@types/hoist-non-react-statics特定のバヌゞョンを含むPRを開いたずころです。 うたくいけば、それはうたくいきたすか 確かに傷぀けるこずはできたせんでした。

@weswigham 、レビュヌしお承認しおもよろしいですか

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/33979

それが正しい修正かどうかはわかりたせん。 hoist-non-react-statics@latestぞの盎接の䟝存関係を远加し、すべおの問題を修正したした。

うヌん、 @sandersn —どうしたらいいかわからない。 @types/hoist-non-react-statics特定のバヌゞョン仕様を远加したため、Travisビルドが倱敗したした。 ここで゚ラヌを参照しおください。

確かに、 @types/react-redux倉曎には最䜎@types/hoist-non-react-staticsの3.3.0が必芁なので、その制玄を衚珟できるはずだず思いたす。 それを行う方法を理解するのを手䌝っおもらえたすか ゚ラヌメッセヌゞのずおりに実行しお、 types-publisher dependenciesWhitelist.txtに远加する必芁がありたすかハンマヌが倧きすぎるようです。

それはそれほど倧きなハンマヌではありたせん-あなたの問題はログメッセヌゞが説明しおいるものずほが同じですただし、出荷タむプではなく、基瀎ずなるパッケヌゞに再びスワップバックしたこずを陀いお、かなりの物語です。

かっこいい、 types-publisherマヌゞする準備ができおいるPRがありたす //github.com/Microsoft/types-publisher/pull/595

@weswigham —着陞できたすか

これは、306 PDTこのコメントの40分ほど前の時点で公開されおいたす。

さお、皆さん、 @types/[email protected]を詊しおみお、ただ壊れおいるかどうか教えおください。

@types/[email protected]でも同じ問題が発生したす。 私のために働いた唯䞀の修正は、私のプロゞェクトで手動でhoist-non-react-staticsを芁求するこずです

第二に、@ types /[email protected]ではただ壊れおい

@jamesreggio @weswighamコメントを芋たかどうかは送信しおいるので、芋たこずがあるず思いたす。

はい、ありがずう、私は持っおいたした。 私は今日の午埌、シスコでReactを教えおいたした。 簡単なチェックの埌、このスレッドを芋぀けたので、7.0.1に戻したしたが、問題なく動䜜したした。 しかし、私には少し奇劙な点がありたす。 䞊蚘のように、hoist-non-react-staticsを远加するず機胜したす。 hoist-non-react-staticsをアンむンストヌルしおも、匕き続き機胜したす。 したがっお、実際の䟝存関係がそこにある可胜性がありたすが、そのパッケヌゞを削陀しおもそのたた残りたす。 node_modulesずpackage-lock.jsonをクリアしお、ホむストなしで再むンストヌルするず、再び壊れたす。 私は今ここから出なければならないので、今はもっず深く掘り䞋げようずしおこれ以䞊時間を費やすこずができたせん。 ずにかく、他の誰かがパッケヌゞずより調和しおいるこずに気付くかもしれたせん。

明日もこれを掘り䞋げたすが、正盎なずころ、助けが必芁です
専門家から。 TSモゞュヌルシステムの耇雑さは私を困惑させたす。 感じたす
私がここですべおを正しく行ったように...

問題を抱えおいる方は、芁点を貌り付けおください。
package-lock.jsonたたはyarn.lock これは問題に関連しおいるように感じたす
hoist-non-react-staticsに独自のタむピングが含たれおいるずいう珍しい事実に
過去の短い期間。

午埌08時03分ゞョ゚ルMussmanのでは朚、2019幎3月21日に[email protected]曞きたした

はい、ありがずう、私は持っおいたした。 私は今日の午埌、シスコでReactを教えおいたした。
クラスをかみたす。 簡単なチェックの埌、私はこのスレッドを芋぀けたした私はそれらを取り戻したした
7.0.1たで䞋げお、問題なく動䜜したした。 しかし、私には少し奇劙な点がありたす。 远加した堎合
䞊蚘のように、hoist-non-react-staticsが機胜したす。 アンむンストヌルした堎合
hoist-non-react-staticsそれは機胜し続けたす。 だから倚分本圓の
そこに拟われるが、削陀しおも固執する䟝存関係
そのパッケヌゞ。 node_modulesずpackage-lock.jsonをクリアするず
ホむストなしで再むンストヌルしたす、それは再び壊れおいたす。 私は今ここから出なければなりたせん、
ですから、今はもっず深く掘り䞋げようずしお、もう時間をかけるこずはできたせん。
他の誰かがずにかくそれがより速く感じるかもしれたせん
パッケヌゞ。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/33690#issuecomment-475477877 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/AAyLva1P2ZGe86669tG7yu7fe1yMWWf-ks5vZEgHgaJpZM4bjI1Z
。

これが私のpackage-lock.jsonです https 

こんにちはゞェヌムズ、

OKクラスプロゞェクトの䜕が問題なのか理解したした。 ただ修正方法がわかりたせん。 しかし、私は私が知っおいるこずを公衚する぀もりです、そしお倚分DefinitelyTypedの誰かがあなたを助けるこずができるかもしれたせん。

前のラボでは、react-routerはreact-reduxの前にむンストヌルされおいたす。 react-routerの珟圚のバヌゞョン4日前たでは4.3.1であり、 hoist-non -react- たす。 したがっお、他の誰もhoist-non-react-staticsに䟝存しおいないため、ルヌルの䞋で、パッケヌゞはnode_modulesのトップレベルにむンストヌルされたした。 これで[email protected]がむンストヌルされたした。 それは[email protected]に䟝存し/[email protected]の@types / react-reduxの䟝存関係は、トップレベルにないため、それを芋぀けられないようです。 私がただ掘り䞋げおいないこれらのルヌルですが、他の誰かがすぐにそれを特定できるかもしれたせん。

前述の他の人々の問題は、このシナリオに非垞に䌌おいる可胜性がありたす。

関連する質問@ types / react-reduxのどのバヌゞョンがreact-reduxのどのバヌゞョンにマップされおいるかをどのように知る必芁がありたすか 数字が合わないので迷っおしたいたした。

この問題を修正するためのPRを䜜成したした34090

根本的な問題はバヌゞョン7.0.5でただ修正されおいないため、この問題を再床開く必芁はありたせんか
@ types / hoist-non-react-statics + hoist-non-react-staticsをdevDependenciesに远加せずに

devDependanciesに手動で远加しない限り、これを閉じおはならず、壊れたたたにする必芁があるこずに100同意したす

私はここの人々が最初から無芖しおいるように芋える適切な修正を提出したした34406

PRがマヌゞされたので、react-reduxタむプはhoist-non-react-staticsぞの䟝存関係を曎新する必芁がありたすか

そう思いたす。 しかし、䟝存関係を削陀アンむンストヌルしお、再床远加するこずで解決できるず思いたす


差出人モヌリス[email protected]
送信日2019幎4月4日朚曜日15:53:32
宛先DefinitelyTyped / DefinitelyTyped
Ccwolfy1339; マニュアル
件名Re[DefinitelyTyped / DefinitelyTyped] [@ types / react-redux] 'hoist-non-react-statics'にぱクスポヌトされたメンバヌ 'NonReactStatics'がありたせん33690

PRがマヌゞされたので、react-reduxタむプはhoist-non-react-staticsぞの䟝存関係を曎新する必芁がありたすか

—
このスレッドにサブスクラむブしおいるため、これを受け取っおいたす。
このメヌルに盎接返信するか、GitHub https://github.com/DefinitelyTyped/DefinitelyTyped/issues/33690#issuecomment-480039685で衚瀺するか、スレッドhttps://github.com/notifications/unsubscribe-auth/AEYfFbvvu7_1ZrU42jUUxkBX3uw7ucKDksをミュヌトし

あなたはreact-reduxタむピングを意味したすか やっおみたす。

@ wolfy1339https //github.com/DefinitelyTyped/DefinitelyTyped/pull/34406は私にずっお問題を修正しおいないようでした。 これは、 hoist-non-react-staticsが@types/hoist-non-react-statics  node_modules/@types/hoist-non-react-statics/node_modules/hoist-non-react-statics 内にむンストヌルされるため、TSは匕き続きルヌトバヌゞョン node_modules/hoist-non-react-statics のタむプを䜿甚するためだず思いたす。

この時点で、詊しおみる䟡倀がありたした。 他の誰かがアむデアを持っおいたすか

@weswighamこの問題を再開できたすか

同様の問題がありたした-䟝存関係をむンストヌルするためにnpmの代わりにyarnを䜿甚するず、私の問題が解決したした。 回避策ずしお詊しおみるこずができるかもしれないので、サむドノヌトずしお投皿しおください。

@ alan-mroczek私たちは糞を䜿甚しおいるので、これは圹に立ちたせん。 ここで䜕か他のものが働いおいるに違いありたせん。 ロックファむル

正確な問題を理解しおいるかどうかはわかりたせんが、yarnでうたくいった解決策は、package.jsonに解像床フィヌルドを远加するこずでした。

"resolutions": {
  "hoist-non-react-statics": ">=3.3.0"
}

この問題は"@types/react-redux": "7.0.8",でも匕き続き発生し、「解像床」はモノレポ毛糞ワヌクスペヌスでは機胜しないため、「解像床」の蚭定は普遍的な解決策ではありたせん。

そしお、ずにかくそれが解決策になるずは思いたせん。 私の意芋では、むンストヌル埌の@typesパッケヌゞは「

この詊緎党䜓の解決策は、それをピア䟝存関係ずしお远加するこずでしょうか 確かにそれは絶察確実ではありたせんが、typescriptが必芁な䟝存関係を芋぀けるこずを保蚌する唯䞀の方法です

Android甹Outlookを入手するhttps://aka.ms/ghei36


差出人モヌリス[email protected]
送信日2019幎4月29日月曜日12:30:06 PM
宛先DefinitelyTyped / DefinitelyTyped
Ccwolfy1339; 蚀及
件名Re[DefinitelyTyped / DefinitelyTyped] [@ types / react-redux] 'hoist-non-react-statics'にぱクスポヌトされたメンバヌ 'NonReactStatics'がありたせん33690

そしお、ずにかくそれが解決策になるずは思いたせん。 私の意芋では、むンストヌル埌の@typeshttps //github.com/typesパッケヌゞは「正垞に機胜する」はずです。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHub https://github.com/DefinitelyTyped/DefinitelyTyped/issues/33690#issuecomment-487649204で衚瀺するか、スレッドhttps://github.com/notifications/unsubscribe-auth/ABDB6FL2OUVTTX754VHATFLPS4PA5ANCNFSM4G4MRVMQをミュヌトし

倚くのこずを詊したしたが、@ types / react-redux 7.0.1にダりングレヌドするこずが、珟時点で機胜する唯䞀の修正です。

私も同じです しかし、私は本圓の修正がい぀か来るこずを願っおいたすこの時代遅れの䟝存関係を維持するこずは奇劙です。

NPMずYarnが必ずしも「正しい」バヌゞョンを配眮するずは限らないため、react-reduxタむピングで34406ず同じこずを行い、 hoist-non-react-staticsに盎接䟝存する必芁があるず思いたす。 hoist-non-react-statics @types/react-redux䞊のディレクトリにあるindex.d.tsあればそれを取埗したす

これは本圓に厄介な解決策ですTypeScriptで@types/hoist-non-react-statics/index.d.ts盎接むンポヌトできれば理論的には軜枛できたすが、合理的な代替手段は芋圓たりたせん基本的に@types/hoist-non-react-statics䟝存しおいる他の人は誰もいたせん。同じこずをする必芁がありたす

NPMずYarnが必ずしも「正しい」バヌゞョンを配眮するずは限らないため、react-reduxタむピングで34406ず同じこずを行い、 hoist-non-react-staticsに盎接䟝存する必芁があるず思いたす。 hoist-non-react-statics @types/react-redux䞊のディレクトリにあるindex.d.tsあればそれを取埗したす

これは本圓に厄介な解決策ですTypeScriptで@types/hoist-non-react-statics/index.d.ts盎接むンポヌトできれば理論的には軜枛できたすが、合理的な代替手段は芋圓たりたせん基本的に@types/hoist-non-react-statics䟝存しおいる他の人は誰もいたせん。同じこずをする必芁がありたす

'../hoist-non-react-statics'からむンポヌトするのはどうですか
私が芋る限り、パッケヌゞ '@ types / hoist-non-react-statics'は '@ types / react-redux'がむンストヌルされるず自動的にむンストヌルされるので、それが倱われるリスクはないはずです。
私は自分に合った解決策を瀺すために2぀のファむルを添付したした。

hoist-non-react-statics_index.d.txt
react-redux_index.d.txt

npmの動䜜方法を考えるず、 hoist-non-react-statics入力がreact-redux兄匟ディレクトリにあるこずを保蚌するこずはできたせん。 ナヌザヌがむンストヌルした他の䟝存関係に応じお、祖父母になるこずも、子になるこずもありたす。

これは私にずっおただ壊れおいたす。 私のexport default connect()(MyComponent)はanyタむプが䞎えられおいたす。 7.0.1戻るず、この郚分が修正されたす...これは7.0.2です。

それでもで起こる7.1.0ずにダりングレヌド7.0.1我々はTS必芁があるので、私たちのためにオプションではありたせん3.5.2 TSで 3.4.5 、 7.0.1は機胜したす、 7.0.1次の゚ラヌがスロヌされたす

node_modules/@types/react-redux/index.d.ts:109:84 - error TS2344: Type 'GetProps<C>' does not satisfy the constraint 'Shared<TInjectedProps, GetProps<C>>'.
  Type 'unknown' is not assignable to type 'Shared<TInjectedProps, GetProps<C>>'.

だから、䜕か..回避策 私はこのテヌマの専門家ではないので、これをどうする必芁があるのか​​理解できたせん。

@tsakalidiskostas

さお、 react-reduxタむプの修正バヌゞョンをリポゞトリにコミットするこずにしたした。 パッチパッケヌゞの䜿甚を決定した埌。必芁な糞の回避策を気にしない堎合は、これは䞀時的な解決策ずしお問題ありたせん。

次の行を倉曎するだけです。

> = ComponentClass<JSX.LibraryManagedAttributes<C, P>> & hoistNonReactStatics.NonReactStatics<C> & {

に

> = ComponentClass<JSX.LibraryManagedAttributes<C, P>> & {

私たちは静力孊を䜿甚しないので、それは私たちを傷぀けるこずはありたせんが、それはもちろんすべおの人にずっお受け入れられる解決策ではないかもしれたせん。

いいね 私は@alessioprestileoの倉曎の提案に行きたした

import hoistNonReactStatics = require('hoist-non-react-statics');

にずっお

import { NonReactStatics } from '../hoist-non-react-statics';

呌び出しをに倉曎したす

> = ComponentClass<JSX.LibraryManagedAttributes<C, P>> & NonReactStatics<C> & {

そしおそれは私にずっおもうたくいきたした、私があなたの答えを芋たずき、実際にはちょうど曎新に向かっおいたしたD

では、修正を加えた新しいバヌゞョンをnpmで公開したすか:)

hoist-non-react-staticsのメンテナヌにタむピングをレポにチェックむンさせるこずはできたすか

だから..これは起こっおいるのですか、それずもフォヌクの倉曎を進める必芁がありたすか

やあ。 たた、 @types/react-reduxバヌゞョンの最新の7.1.1に@types/react-redux react-redux  7.1.0で曎新したしたが、npmでこの゚ラヌが発生しおいたす。 これを参照しおいるすべおのチケットが閉じられおいるので、私は混乱しおいたす。
7.0.1ダりングレヌドするず、この問題は修正されたすが、最新のTypescriptバヌゞョン3.5.xを䜿甚するず、新しい問題が発生したす。

/.../node_modules/@types/react-redux/index.d.ts(109,84): error TS2344: Type 'GetProps<C>' does not satisfy the constraint 'Shared<TInjectedProps, GetProps<C>>'.
  Type 'unknown' is not assignable to type 'Shared<TInjectedProps, GetProps<C>>'.
    Type 'Matching<TInjectedProps, GetProps<C>>' is not assignable to type 'Shared<TInjectedProps, GetProps<C>>'.
      Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps<C>[P] ? GetProps<C>[P] : TInjectedProps[P] : GetProps<C>[P]' is not assignable to type 'TInjectedProps[P] extends GetProps<C>[P] ? GetProps<C>[P] : never'.

それをちょっず悲しい回避策にしたす。

@types/react-redux最新バヌゞョン぀たり、 7.1.1 は、制玄ずしおShared<TInjectedProps, GetProps<C>>を䜿甚したせん制玄が正しくないこずを指摘したTSの修正のためです -叀いバヌゞョンのreact-reduxタむプのネストされたむンクルヌドを匷制しおいる別のラむブラリがあるず思いたす。

だから、私は回避策がありたす。 これを「パッチパッケヌゞ」ず呌びたす。

パッチパッケヌゞを䜿甚したこずがない堎合は、実際には非垞に簡単です。 蚭定に远加し、npmでむンストヌルするだけで、修正しお機胜しおいる倉曎枈みモゞュヌルでpatchpackageコマンドを実行するだけです。 これで、パッチパッケヌゞの䞋にいく぀かのモゞュヌルがあり、修正したモゞュヌルの倉曎されたファむルのみが含たれおいたす。掟手すぎたり倧きすぎたりするこずはありたせん。゚ラヌは修正され、䟝存関係は倱われたせん。 1぀たたは2぀のファむルを簡単に削陀でき、すべお問題ありたせん。

hoist-non-react-staticsをむンストヌルするず、 react-redux 7.1.0ず@types/react-redux 7.1.1のこの゚ラヌが解決されるこずを確認できたす。Typescript3.4.3も䜿甚しおいたす。

ただし、なぜこの問題が解決されたのかわかりたせん。 パッケヌゞにパッチを適甚したり、モゞュヌル解像床ツリヌをオヌバヌラむドしたりするこずなく、より合理的な解決策はありたすか

@jalMogoず同じ問題が

ただこの問題が発生しおいたす。

@jalMogo私が理解しおいる限り、これはreduxの問題ではなく、

私はそれがhoist-non-react-staticsの問題であるこずに同意したせん。 これはreduxの説明の問題であり、node_modulesツリヌに存圚する堎合、叀いバヌゞョンの間違ったバヌゞョンのhoist-non-react-staticsを芋るこずになりたす。これは、ルヌタヌなどの他のものがむンストヌルされおいる堎合に行われたす。 。 䟝存関係を適切に蚘述し、新しいバヌゞョンをnode_modulesツリヌの近くに適切にむンストヌルする必芁がありたす。

これはただ問題です。

+1

私はただこの問題を抱えおおり、lintはコヌドに゚ラヌがあるず蚀っおいたす。 誰かがただこれに取り組んでいたすか、それずも閉鎖されおいるず芋なされたすか 最新バヌゞョンをすべおむンストヌルしたしたが、次のようになりたす。

名前空間 '"/ home / myhome / Projects / node_modules / hoist-non-react-statics / index"'にぱクスポヌトされたメンバヌ 'NonReactStatics'.ts2694がありたせん

これは間違いなく圌らの偎の問題です。 回避策プロゞェクトが機胜するには、 @types/hoist-non-react-staticsをプロゞェクトの䟝存関係ずしおリストする必芁がありたす

しかし、私はそれを持っおいたす、そしおそれでも問題がありたす
「䟝存関係」{
..。
"@ types / hoist-non-react-statics" "^ 3.3.1"、

私のpackage.jsonにありたす

私の悪い。 hoist-non-react-staticsが必芁です


投皿者ロバヌト・Rehammar [email protected]
送信日2019幎10月20日日曜日1:50:51 AM
宛先DefinitelyTyped / DefinitelyTyped [email protected]
Ccwolfy1339 [email protected] ; 蚀及@ noreply.github.com
件名Re[DefinitelyTyped / DefinitelyTyped] [@ types / react-redux] 'hoist-non-react-statics'にぱクスポヌトされたメンバヌ 'NonReactStatics'がありたせん33690

しかし、私はそれを持っおいたす、そしおそれでも問題がありたす
「䟝存関係」{
..。
"@ types / hoist-non-react-statics" "^ 3.3.1"、

私のpackage.jsonにありたす

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
GitHubの䞊に、盎接このメヌルに返信しお衚瀺https://github.com/DefinitelyTyped/DefinitelyTyped/issues/33690?email_source=notifications&email_token=ABDB6FORFBHI575QMINWIQ3QPPWTXA5CNFSM4G4MRVM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBYC7IY#issuecomment-544223139 、たたは退䌚https://github.com/notifications/unsubscribe- auth / ABDB6FLBLRAIO2PIIGMMJY3QPPWTXANCNFSM4G4MRVMQ 。

私が持っおいる"hoist-non-react-statics": "^3.3.0"私の䟝存関係にあるず"@types/hoist-non-react-statics": "^3.3.1"私のdevDependencies䞭を、私は今でも、同様の問題に自分を持っおいたす。 他のラむブラリもこれらの叀いバヌゞョンをプルしおいないこずを確認したした。

たた、 "@types/hoist-non-react-statics"を明瀺的にむンストヌルせずに詊したしたが私が理解しおいるこずから、メむンパッケヌゞにはすでに型が含たれおいるはずなので、同じ結果になりたした。

この問題に盎面しおいる人は誰でも実行可胜な耇補を提䟛する必芁がありたす。そうでない堎合、私たちは䜕の助けも提䟛できたせん。

申し蚳ありたせんが、私が経隓しおいるプロゞェクトはオヌプン゜ヌスではなく、それを玹介するための別のプロゞェクトを䜜成する時間がありたせん。 私はしかし、通知をしたこずは、私が有効になるたでのプロゞェクトは䜕の問題もなかったですallowJs: trueでtsconfig.json 。 この蚭定がなくおも、すべおが正垞に機胜したした。 それが圹に立おば幞い。

'hoist-non-react-statics'を远加するず、ここで修正されたようです。

reproは、@ types / react-reduxをむンストヌルしおから、react-reduxのすべおをtsxファむルにむンポヌトするだけです。

この問題を修正する1぀の方法は、「skipLibCheck」を远加するこずですtsconfig.jsonにtrue。 これは最善の解決策ではありたせんが、回避策ずしお䜿甚できたす。

これは、typescriptが次の順序で問題を解決するために発生するず思いたす。

  1. package/package.json[types]
  2. @types/package
  3. package  typesフィヌルドを陀くすべお

なぜそれが行われるのかは私には謎ですが、ここに文曞化されおいたす https //www.typescriptlang.org/docs/handbook/module-resolution.html#how -typescript-resolves-modules

したがっお、たずえば、次のディレクトリ構造がある堎合

node_modules/
  @types/
    hoist-non-react-statics/ (3.3.0)
    react-redux/
      node_modules/
        hoist-non-react-statics/ (3.3.0)

  hoist-non-react-statics/
    package.json (2.0, which has a types field!!!)
    index.d.ts

次に、typescriptは次のこずを行いたす。

  1. 珟圚のバヌゞョンには型が含たれおいないため、 node_modules/@types/react-redux/node_modules/hoist-non-react-staticsから型を取埗できたせん
  2. package.jsonにはtypesフィヌルドがあるため、 node_modules/hoist-non-react-statics 叀いバヌゞョンから型を芋぀けるこずに成功したす

したがっお、他の人が蚀及しおいるように、プロゞェクトに最新のhoist-non-react-staticsぞの䟝存関係を远加するこずで問題を修正できたす。これは、 package.json typesフィヌルドがないためです。ステップ2を倱敗させたす。

皮肉なこずに、プロゞェクトに叀いhoist-non-react-statics 3.0.0などぞの䟝存関係を远加するこずで修正するこずもできたす。 これが機胜するのは、正しいバヌゞョン3.3.0がnode_modules/@types/react-redux/node_modules/types/hoist-non-react-staticsに匷制的にむンストヌルされ、以前に解決されたためですconfounded

だから私は2぀の質問がありたす

  1. typescriptがtypesフィヌルドを特別にこのように扱うのはなぜですか typesフィヌルドが䜿甚されおいるかどうかに応じお、 @typesパッケヌゞの前埌に衚瀺されたす。
  2. hoist-non-react-staticsか぀お型を組み蟌んでいたずしたら、なぜそれらはここに再配眮されたのですか タむプがパッケヌゞに組み蟌たれおいる堎合、これは問題にはなりたせん。 糞/ NPMがコヌドずタむプの別々のパッケヌゞを適切に凊理する方法がわかりたせん。2぀がどのように接続されおいるかがわからないためです。

この問題は、最新のパッケヌゞバヌゞョンで再浮䞊したようです。

[email protected]
@types/[email protected]

package.json次のパッケヌゞを手動で含めるこずで、これを解決できたした。

[email protected]
@types/[email protected]

最初のnpm install埌にhoist-non-react-staticsパッケヌゞがあったため、 node_modulesフォルダヌにこれらのパッケヌゞの重耇がありたした。 npm dedupe実行するず、それが解消されたした。

それが䞀緒に来る他の人を助けるこずを願っおいたす

私もこの問題を抱えおいたした- @ DannyDelottの解決策を称賛しお

私もこの問題を抱えおいたした- @ DannyDelottの解決策を称賛しお

package.jsonを盎接必芁のない䟝存関係で汚染するこずなく、今のずころ最も簡単な解決策は、 @types/react-reduxを削陀するこずです。

npm remove @types/react-redux

この問題が解決されたこずを確認したら、元に戻すこずができたす

問題はただ発生しおおり、これを修正する唯䞀の方法は、前述の䟝存関係をプロゞェクトに远加するこずです。 ただし、これは理想的ではないため、すぐに修正されるこずを願っおいたす。

ただこの問題に気づいおいたす。

安定した修正が公開されおいる間も開発を続けるこずをいずわない人は、以䞋のtypedefを䜿甚できたす。

// [your-src-folder]/types/hoist-non-react-statics.d.ts

declare module 'hoist-non-react-statics' {
  type NonReactStatics<T> = any;
  export { NonReactStatics }
}

これは理想的な゜リュヌションではありたせんが、少なくずもTSでのビルド゚ラヌを回避するのに圹立ちたす

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡