質問するログイン新規登録
React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

197閲覧

reactのコンポーネントにscroll revealを適用させたい時のコードの記述方法について

hira1234

総合スコア2

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2023/11/16 13:48

0

0

実現したいこと

失礼致します。
現在プログラミングを勉強中の者です。
reactのコンポーネントにscroll revealを適用させたい時のコードの記述方法についてですが、
現在作成中のコンポーネント Postscomponentsにスクロールアニメーションを実装したいです。

ここに実現したいことを箇条書きで書いてください。

  • ▲▲機能を動作するようにする
    scroll revealでnpm installをした後にPosts.jsに以下のように記述したら:か}でエラーが返されます。

ScrollReveal({
reset: true,
distance: "60px",
duration: 2000, //2sかけてアニメーション
delay: 200 /* 0.2s後に発動 */,
});

前提

ここに質問の内容を詳しく書いてください。
Post.jsではscroll revealもimportしておりscroll revealを当てたいクラスもPost.jsに記述しているので
当てたいクラスに ScrollReveal().reveal(".main-title, .section-title")の記述もしていますがエラーが吐かれて
しまいます。
自分が試した方法としてconstをfunctionに変えたり、外部から別のコンポーネントとしてscroll revealを
読み込んだり試しましたがうまくいきませんでした。
どなたかご教授よろしくお願い致します。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

実際のコードが無いのでなんとも言えませんが、DOM の要素に対して何らかの処理を行いたい場合は、

  1. ボタン操作等をきっかけに実行したい場合
    • 普通に onClick 等のイベントハンドラ内に書けます。
  2. 目当てのものが表示されたタイミングで実行したい場合
    • ファイルに直に書いても効果を発揮しない可能性があります。
    • 確実なのは、useEffect の処理の中に書く方法です ← 今回はこれ

なので、以下のように useEffect の中に書けば大丈夫だと思います。

tsx

1useEffect(() => { 2 if(typeof window === "undefined") return; // SSR のときにスキップする 3 4 ScrollReveal().reveal('.headline'); 5}, [])

また、実際のコードやエラーメッセージの内容を具体的に提示しないと原因を推測するのは難しいです。関数の中か外か、のような文脈によってそのコードの実行されるタイミングが異なるので、コードの省略はそれがわかる範囲に留めるべきです。

``` ```

のように3つのバックティックに囲まれている領域があったと思いますが、そこにコードを書きましょう。詳しい書き方はこのサイトのどこかにあるんじゃないかな?

tsx:Posts.js

1ScrollReveal({ 2 reset: true, 3 distance: "60px", 4 duration: 2000, //2sかけてアニメーション 5 delay: 200 /* 0.2s後に発動 */, 6}); 7 8export const Posts = () => { 9 // コンポーネントの内側じゃなくてファイルの直下に書いていることが分かればいいので、この中は省略できる 10}

エラーメッセージも、「:か}でエラーが返る」のように自分で要約して解釈したものではなく、元のメッセージそのもの(もちろん自身の名前やプロジェクトの機密情報などは隠しても大丈夫です)を載せましょう。

自分がよく理解しているものについては適切に要約できますが、理解していな場合は伝わらない要約になってしまいます

例として、
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement で解説されているエラーメッセージを載せておきます。

SyntaxError: missing ; before statement

投稿2023/11/17 15:56

編集2023/11/17 15:57
honey32

総合スコア246

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問