2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

React Hooks

Posted at

##はじめに
勉強のメモです。
間違った記述や至らない点も多いと思います。

##ReactHooks
Classコンポーネントじゃないと扱えなかったStateやライフサイクルがFunctionalコンポーネントでも扱える様になる便利なもので2020年2月に正式リリースされた新しい機能になります。
また、以前のバージョンにも互換があるので既存のアプリに取り入れることも可能です。

##Hookのメリット
ClassコンポーネントにおいてStateやライフサイクルを記述すると冗長になりがちです。
見にくい記述は当然エラーを引き起こしやすくなります。
Hooksを使えば、StateやライフサイクルがFunctionalコンポーネントで記述できるので、シンプルにすることができます。

##useStateの使用例
Stateの代替になります。
今回はチェックボックスを例にします。

1.useState関数をインポート


import React, {useState} from 'react';

2.宣言する

const [isPublished, togglePublished] = useState(false);

isPublishedが変数名、togglePublishedがstateを変更する関数名、useState(false)が初期値。useState(trueにするとチェックボックスにチェックが付いている状態が初期値になる)

3.jsx内で使う


<input type='checkbox' checked= {isPublished} id="check" onClick={()=> togglePublished(!isPublished)}/>

useEffectの使用例

ライフサイクルの代替になります。
Stateの時の様にimportを行なってください。

基本形
マウントとアンマウントを繰り返し行うことで、クリーンアップできるという考えです。


useEffect(()=>{
console.log('render')
return () => {
  console.log('Unmounting')
  } 
})

##最後に
ライフサイクルの方はClassコンポーネントとHookを使った場合を比較した方がわかりやすいと思いますので、ぜひ、ご自身で試していただきたいです。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?