問題タブ [refs]

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 投票する
2 に答える
4798 参照

reactjs - 子であるステートレス機能コンポーネントの高さを取得するにはどうすればよいですか?

親クラス内でその高さを使用できるように、ステートレスな子コンポーネントの高さを取得しようとしていますが、次のエラーが発生しています。Invariant Violation: Stateless function components cannot have refs.

簡素化されたコード

親クラス

これを行う方法はありますか?

エラーのある Codepenへのリンクを次に示します。

アップデート:

実際のコード/コンテキスト

だから私は現在、次のようなヘッダーコンポーネントを持っています:

場合によっては、このヘッダーにロジックを追加してアニメーション化する必要があります (たとえば、ユーザーがスクロールしたときのホームページで、特定のポイントを過ぎてスクロールしたときに固定されるようにヘッダーをアニメーション化しています。 )。

私が以前にこれを行った方法は、特定の機能 (上記のように) を持つヘッダーと持たないヘッダーに別のクラスを用意することでした。しかし、コードを DRY に保つために、ヘッダーを分離して独自の機能的なステートレス コンポーネントにし、スティッキー ヘッダー機能を提供するクラスにラップするようにしました。

そのためのクラスは次のとおりです。

これがこの特定の問題のコンテキストです。これで物事がもう少し明確になることを願っています。

Ps コンテキストが不足していて申し訳ありません。答えは見た目よりも簡単だと思いました。