🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

React.js

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

Q&A

解決済

1回答

1119閲覧

【React】jQueryのサンプルコードをReactに書き直す際の考え方について

Jake5

総合スコア32

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

React.js

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

0グッド

0クリップ

投稿2021/02/02 03:34

編集2021/02/02 03:35

React初心者です。

関数コンポーネントでstateやライフサイクルを使えるReact hookについて最近学びました。

一通り使い方を勉強しjQueryの簡単なサンプルプログラムをReactに書き換えてみたいのですが、何をstateにしてどこでライフサイクルを使うべきかがわかりません。
(シンプルな設計にしたいのでなるべくクラスではなくhookを使ってみたいです)

例えば以下のようなjQueryのプログラムはReact hookを使ってどのように書き換えることができるのでしょうか。
https://codepen.io/nenadkaevik/pen/odyrGm
※ 選定したサンプルプログラムはテキトーです

Reactで書き換える上でのヒントや考え方等をご教示いただきたいです。

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

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

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

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

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

hoshi-takanori

2021/02/02 08:56

考え方というか、考える対象 (レイヤー) が違う気がします。jQuery はアニメーションとかの細かいことを扱うのが得意で、React は現在選択されているタブがどれで、選択が変更されたらどうするかを扱うためのものという感じ…。
Jake5

2021/02/02 13:33

確かにおっしゃる通りですね。 ということは今回のケースではstateやライフサイクルを特段扱う必要はないという理解で正しいですか?
hoshi-takanori

2021/02/02 17:46

タブの例で言えば、 <ElasticTabs  tabs={['Avengers', 'Hunl', 'Thor', 'Marvel']}  selectedIndex={selectedIndex}  onChange={e => { ... }} /> のように使えるコンポーネントを定義して、アニメーションの内部実装はごりごり頑張って書くことになるけど、使う側は細かいことを気にせずに使える、というのが React の目指す姿かと。
Jake5

2021/02/02 22:25 編集

確かにコンポーネント化すると直感的にどういった処理をしているのかがわかりにくいですね。。 ではこういったアニメーションの実装には別のアニメーション用のライブラリを併用したり、なるべくCSSのみで対応するといったところが現実的な実装方法といった感じでしょうか? (Reactにはそういった弱点もあったのですね。。確かにReact製のアプリでリッチなアニメーションを使っているサービスをあまりみかけないような笑)
hoshi-takanori

2021/02/02 23:41

React では生の DOM 要素へのアクセスには制約があるので、React に対応してないアニメーションライブラリは基本的に使えないと思います。また、偏見かもしれませんが、React を使う人は、あまりアニメーションを求めてないような…。
Jake5

2021/02/21 00:37

承知しました!ありがとうございました。
guest

回答1

0

ベストアンサー

アニメーション系の動作をReactで再現するのはハードモードですので、勉強し始めで取り掛かるのは荷が重いかと思います。

もっとわかりやすいものから進めることをおすすめします。

投稿2021/02/02 04:12

maisumakun

総合スコア145967

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問