95日目:React HooksのuseState Hookの使い方を学ぶ(classを使わないReact render)

Register Form とLogin Formを作成していくことになったのですが、今回新しく学んだのがclassを使わない「React Hooks」の使い方です。useStateを使ってState Hookの使い方を学びました。

今までのReact講座で学んだコード

今まではclassを使ってrenderするという方法でReactを学んできました。コードにするとこのようなかんじです。

class XXXXX extends React.Component {  
    ....
    render() { ... }
}

 

classを使わない「React Hooks」の使い方をreactjs公式ページで学ぶ(React 16.8の新機能)

今回は、React Hooksという新しい使い方が出てきたので、早速Reactの公式ページで学習しました。

Introducing Hooks (reactjs公式サイト)

Hooks at a Glance (reactjs公式サイト)

Using the State Hook (reactjs 公式サイト)

まだ全部は読みきれていないのですが、Reactもどんどん変化していることがわかりました。(Effect Hookについてはまだ学んでいません。)

次々と新しいコードの書き方に変化しているようなので、常に最新情報を知っておく必要があると思いました。上記のサイトはもう一度読み直しておこうと思います。

実際に書いたReact Hooks useStateを使ったRegister Form のコード

import React, { Fragment, useState } from "react";
import { Link } from "react-router-dom";

const Register = () => {
  const [formData, setFormData] = useState({
    name: "",
    email: "",
    password: "",
    password2: ""
  });

  const { name, email, password, password2 } = formData;

  const onChange = e =>
    setFormData({ ...formData, [e.target.name]: e.target.value });

  const onSubmit = async e => {
    e.preventDefault();
    if (password !== password2) {
      console.log("Passwords do not match");
    } else {
      console.log("SUCCESS");
    }
  };

  return (
//Fragmentで囲んだhtmlコード
  );
};

export default Register;

 

Login Formも全く同じコードを使用しました。(ただしnameとpassword2は不要なので消去)

Fragmentで囲んだhtml部分のコードはブログに上手く反映されなかったので省略しています。

Register Form(Register.js)とLogin Form(Login.js)がおおまかにできたところで本日は完了。次に使うReduxの概要のところまで動画を見て、本日は終了です。

現在使用している教材と学習時間:本日の学習時間2.0時間

Udemy:MERN Stack Front To Back: Full Stack React, Redux & Node.js by Brad Traversy

★Section6: Getting Started With React & the Frontend

-Lec 34 Register Form & useState Hook(このブログ記事の内容)

-Lec 35 Request Example & Login Form

★Section7: Redux Setup & Alerts

-Lec 36: The Gist Of Redux(本日はここまで)

進捗状況:50%

学習時間2.0時間

~本日は休みにしている教材~

Udemy:The Complete Web Developer: Zero to Mastery by Andrei Neagoie

進捗状況: 92%

関連キーワード
  • 131日目~134日目:Udemyで一番人気のGit (&GitHub) コースを修了!学習した内容・学習にかかった時間とおすすめ度をご紹介: Completed Git course by Udemy "Git Complete: The definitive, step-by-step guide to Git" by Jason Taylor: Highly recommended to both beginner & intermediate leaner
  • 121日目~130日目:Udemyで新しいReactコース学習とGit & GitHubのコースを受講し始める #100dayofcode Round 2
  • 120日目:プログラミング学習100日チャレンジの完了とこれからの学習&ブログ記事:100days of code completed & from now on
  • 119日目:完成したWebアプリケーションの公開(Devconnector deployed on Heroku)
  • 118日目:Udemy講座の感想口コミ&自分に合った講座の選び方ポイント:Mern Stack Front to Back: Full Stack React, Redux & Node.js by Brad Traversy
  • 117日目:完成!Herokuへのデプロイ成功:Heroku CLIのインストールからWebアプリデプロイまで。Herokuの使い方と、package.jsonとgitコマンドではまったところと解決方法
おすすめの記事