React useState:要約

React js

過去数か月の間、私はReactに飛び込み、いくつかの簡単なアプリケーションを構築してきました。私が消化するのに苦労してきた1つの概念は、ReactStateの概念です。私は最近、それを明確に説明する優れたチュートリアル(私は強くお勧めします)に出くわしました。この短い記事では、チュートリアルに従って学んだ最も重要な概念を要約して、他の人にも役立つようにします:-)

Reactの状態とは何ですか?コンポーネントの状態は、特定の時間にコンポーネント内で使用およびレンダリングされているデータです。

以下のコードでは、変数(iceCreamFlavor)を作成し、それに初期値「chocolate」を割り当てます。この変数は、中括弧{iceCreamFlavor}を使用してコンポーネントテンプレート内にレンダリングされます。「Clickme」ボタンをクリックすると、アイスクリームのフレーバーが「チョコレート」から「ストロベリー」に変わると予想されます…結局のところ、handleClick関数は…

const MyComponent = () => {
let iceCreamFlavor = "chocolate";
const handleClick = () => {
iceCreamFlavor = "strawberry";
};
return (
<div className="container-style">
<h2>Ice cream flavor</h2>
<p>{iceCreamFlavor}</p>
<button onClick={handleClick}>Click me</button>
</div>
);
};

値は変更されますが、コンポーネントにはレンダリングされません。なぜそうなのですか?

これは、iceCreamFlavorがリアクティブ変数ではないため、その変更によってReactがコンポーネントテンプレートを再レンダリングしないためです。

値をリアクティブにするには、特別なタイプの関数であるuseStateフックを使用する必要があります。

書くことによって:

useState("chocolate")

「チョコレート」は、中括弧を使用してコンポーネント内にレンダリングされる初期値です。しかし、フックはまだ完成していません。それを完成させるには、次のものも必要です。

  1. この値を格納するための「場所」。この場合、「iceCreamFlavor」を使用します(この変数名は任意であることに注意してください)。
  2. 値「iceCreamFlavor」(この場合は「setIceCreamFlavor」)の更新を担当する関数。通常、関数名は「set」で始まり、その後に更新するものの名​​前が続きます。
  3. const [iceCreamFlavor, setIceCreamFlavor] = useState(“chocolate”)
    

const Home = () => {
  const [iceCreamFlavor, setIceCreamFlavor] = useState(“chocolate”)
  
  const handleClick = () => {
    setIceCreamFlavor("strawberry");
  };
return (
 <div className="container-style">
 <h2>Ice cream flavor</h2>
 <p>{iceCreamFlavor}</p>
 <button onClick={handleClick}>Click me</button>
 </div>
 );
};

  1. handleClick関数が起動されます。
  2. setIceCreamFlavorも起動されます。これにより、アイスクリームのフレーバーが「チョコレート」から「ストロベリー」に変更され、テンプレートの再レンダリングもトリガーされます。

このフックに関するいくつかのサイドノート:

  • useStateは、1つのコンポーネントで何度でも使用できます。
  • このフックを使用するには、コンポーネントの最初に次のようにインポートする必要があります。
  • import { useState } from “react”;
    

提案された投稿

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

はじめに 脳卒中は、いつでも誰でも起こり得る医療上の緊急事態です。これは、脳の一部への血流が中断され、脳機能が突然失われることで発生します。

Jest — 強力な JavaScript テスト フレームワーク

Jest — 強力な JavaScript テスト フレームワーク

テストはソフトウェア開発において不可欠な部分です。これにより、コードの信頼性が保証され、期待どおりに機能し、エラーの可能性が軽減されます。

関連記事

「マリアナ海溝の公開: 深淵の恐るべき隠された真実を明らかにする」

「マリアナ海溝の公開: 深淵の恐るべき隠された真実を明らかにする」

はじめに:勇敢な読者の皆さん、地球の最も暗い深みへ私たちを導く旅へようこそ。このブログでは、マリアナ海溝の謎に満ちた世界を掘り下げ、その隠された秘密を明らかにし、その表面の下にある骨も凍るような真実を明らかにします。

パスワードはもう不要 — パスキーがパスワードをどのように置き換えるか

パスワードはもう不要 — パスキーがパスワードをどのように置き換えるか

曖昧さを避けるために、次の用語が使用されます。認証者; ログイン Web サイトの作成に使用されている携帯電話。ユーザーがログイン要求サービスを行うために使用している Web サイトまたはアプリケーション。特定のサービスを提供するベンダー。例:

ネットワークテレビツイッター

ネットワークテレビツイッター

古いものは再び新しくなり、以前はキラキラ輝いていたものがくすんで見えます。私は、JNCO ジーンズが 1990 年代後半の他のファッションとともにダウンタウンのクールな子供たちの間で復活したことについて話しているのではありません。

アートは政治的ではないのでしょうか?

アートは政治的ではないのでしょうか?

昨日、私たちは今年のユーロビジョン・ソング・コンテストの幕を閉じました。きらびやかでカオスなグランドフィナーレでスウェーデンの歌手ローリーンがトロフィーを持ち帰り、女性として初めて2回優勝し、ABBAがコンテストで優勝してから50年目にその栄冠をスウェーデンに持ち帰りました。 「ワーテルロー」で。彼らはポップ ミュージックの規範において最大のアーティストの 1 つになりました。