コールバック参照の代わりに新しいcreateRefAPI(React 16.3.0で導入)を使用している要素でconnectDragSourceを使用すると、アプリがエラーTypeError: previousRef is not a function
クラッシュします。
これはブラウザが出力するものです:
return (0, _react.cloneElement)(element, {
ref: function ref(node) {
newRef(node);
if (previousRef) {
previousRef(node); // << fails with new refs
}
}
});
同じ問題。 初めて私はついに新しい参照を使用する機会を得て、react-dndが邪魔になっています。
長期的には、findDOMNodeを使用してrefを置き換えるreact-dndモデル全体についてはよくわかりません。 Reactに新しいcreateRefとwithRefがある場合。 新しいforwardRefAPI 。 そして、多くのAPIがレンダープロップを利用し始めています。
ただし、今のところ、previousRefがcurrent
プロパティを持つオブジェクトであるかどうかを確認し、関数として呼び出す代わりにそれを設定するだけで十分です。
createRef()を使用しながら、これに対する解決策はありますか?
これについては後で掘り下げることができますが、ここでは、探しているものを示すサンドボックスがあれば便利です。
私も同じ問題に直面しています。
@darthtrevinohttps : //codesandbox.io/s/733onvqwl6多分このサンドボックスが役立ちます。
同じ問題。 古いコールバック参照の使用に戻す必要がありますか、それともこれを回避する方法はありますか?
+1
React.createRef()
とref.current
すると、アプリがクラッシュしました。
これはいつ修正されますか?
まだ修正されていません:/
これを調べるためにreact-confの後でしばらく時間を作ります
ref divを別の空白のdiv内にカプセル化することで提案されたように、回避策を使用することができました。
例:
<div>
<div
style={{
position: "relative",
borderStyle: "dashed",
width: 300,
height: 200,
position: "relative"
}}
ref={this.myRef}
/>
</div>
👍この@darthtrevinoの更新。 更新を聞くのは素晴らしいことです
@darthtrevino同じ問題が発生しましたが、修正でETAを取得できますか?
今日になるはずだと思います。 後でカットしたリリースに問題がある場合はお知らせください
最も参考になるコメント
同じ問題。 古いコールバック参照の使用に戻す必要がありますか、それともこれを回避する方法はありますか?