web-dev-qa-db-ja.com

React Native 0.62.0にアップグレードされ、警告サインが表示される-アニメーションコンポーネントの参照で「getNode()」を呼び出す必要がなくなりました

反応ネイティブアプリを0.62.0にアップグレードするだけで、アプリがこの警告サインを受け取り続ける

ReactNativeFiberHostComponent: Calling `getNode()` on the ref of an Animated component 
is no longer necessary. You can now directly use the ref instead. 
This method will be removed in a future release.

この問題が発生している理由がわかりませんか?誰か説明していただけますか?

スタックも見ます

ref.getNode |
createAnimatedComponent.js:129:20

SafeView#_updateMeasurements | index.js:192:14

SafeView#componentDidUpdate | index.js:154:9

更新

これは、反応ナビゲーションからのSafeAreaViewに起因する可能性があると思います

10
hellomello

ブログ投稿 RN62のリリースを発表したように、getNode()は非推奨になりました。 getNode()を呼び出さずにrefを使用できます。これを見てください commit

1
Ovidiu Latcu

react-native-snap-carouselを使用している場合は、ノードモジュールをローカルで変更して修正できます。

最初に行く

 ./node_modules/react-native-snap-carousel/src/Carousel.js

変化する

const AnimatedFlatList = FlatList ? Animated.createAnimatedComponent(FlatList) : null;
const AnimatedScrollView = Animated.Animated.createAnimatedComponent(ScrollView);

const AnimatedFlatList = FlatList ? Animated.FlatList : null;
const AnimatedScrollView = Animated.ScrollView;

最後に、_getWrappedRef関数を

_getWrappedRef () {
 return this._carouselRef
}

これにより、パッケージが更新されるまで警告が停止します。

1
picacode

この問題は、コンポーネントにcreateAnimatedComponentを使用しているときに発生します。たとえば、アニメーション化されたライブラリにすでに存在している場合、それをFlatListに使用すると、この警告は修正のために表示され、コンポーネントを直接呼び出すだけです。

詳細については ここにリンクの説明を入力してください

0
binar ahmed

変化する

return this._carouselRef && this._carouselRef.getNode && this._carouselRef.getNode();

return this._carouselRef;

* getNode()を削除すると修正されます。

0
Dilina Dehigama