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%