問題タブ [react-animated]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
81 参照

react-native - 小道具の変更に基づくコンポーネントの連続アニメーション

次のような署名を持つスナックバーのようなステータス メッセージ コンポーネントを作成しようとしています。

"open" が true に設定されている場合、メッセージは画面にアニメーション表示され、一定時間そこにとどまり、その後再びアニメーション表示されなくなります。

したがって、以下のコードは正常に動作しますが、かなり一般的な使用例を除きます。古いメッセージが画面外にアニメーション化される前に、呼び出し元のコンポーネントが新しいメッセージを設定する場合。その場合、以下のコードは単に現在表示されているメッセージを置き換え、同じタイマーを使用します。

理想的には、新しいメッセージが追加されると、古いメッセージが最初に画面外でアニメーション化され、次に新しいメッセージでアニメーション化されます。(新しいメッセージ テキストが古いメッセージ テキストと同じであっても、これが確実に行われるようにしたいと思います。)

私はこのようなことをする方法を理解できないようです。私の推測では、StatusMsg は実際には、メッセージを含むアニメーション ビューを作成するためのファクトリである必要がありますが、それを機能させる方法がわかりません。具体的には、新しいメッセージの作成時に以前のメッセージを閉じる方法。

0 投票する
0 に答える
1883 参照

react-native - Reactネイティブは2つのフラットリストをスムーズに同期します

2 つのフラットリストがあり、1 つはデータ (dataScroll) を含み、もう 1 つはすべてのデータ項目のチェックボックス (checkScroll) を含みます。

この理由は、ユーザーが dataScroll を水平方向にスクロールしている間、チェックボックスを常に表示する必要があるためです (dataScroll を水平方向にスクロール可能なスクロールビューに配置しました)。

デモ:

エキスポスナックデモ

これまでに試した:

dataScroll のスクロール イベントで、y オフセットを取得し、checkScroll をその y 位置に移動しました。

それは(ほとんど)仕事をしますが、スクロール中に2つのフラットリストの間に大きな遅延があります。

--

アニメーション化されたコンポーネントの使用が進んでいる可能性があることを読みましたが、反応ネイティブでアニメーションがどのように機能するかを理解できませんでした。

したがって、2つのフラットリストをバインドして、一方のリストをスクロールすると、もう一方のリストが遅延なしで(または少なくとも最小限の)遅延で追従するようにする方法について、助けを求めたいと思います。

dataScroll フラットリストのみがスクロール可能であれば、それも問題ありません。