blog

Reactフックの例 --- useMemo

useMemo と useMemo は、他の無関係なパラメータの変更によってコンポーネントが再レンダリングされるのを防ぐという点で似ています。 クラスコンポーネントの場合、useMemoはFunct...

Aug 22, 2020 · 1 min. read
シェア

React useMemo

useMemoはPureComponentに似ており、他の無関係なパラメータの変更によってコンポーネントが再レンダリングされないようにします。

PureComponentはクラスコンポーネント用で、useMemoはFunctionコンポーネント用です。さらに、React.useMemoはパラメータを指定することができ、そのパラメータが変更された場合にのみコンポーネントを再レンダリングします。

使用方法

import React, {useMemo, useState} from 'react'
function Child (props) {
 const showNumber = () => {
 console.log('========render========')
 return (
 <div>
 <p>number is : {props.number}</p>
 </div>
 )
 }
 return useMemo(showNumber, [])
}
export default () => {
 const [count, setCount] = useState(0)
 return (
 <>
 <p>{count}</p>
 <button onClick={() => setCount(count+1)}>Click me!</button>
 <Child number={count}/>
 </>
 )
}

上のコードでは、子関数コンポーネントはuseMemoによって処理されます。 useMemoの2番目のパラメータは、値を変更したときに再レンダリングされる関数コンポーネントに入れるオブジェクトの配列です。もし[]がnullの場合、レンダリングされるのは一度だけで、その後propsに何が起こってもレンダリングされることはありません。

上記のコードを実行すると、子コンポーネントは最初にレンダリングされたときに一度だけ showNumber メソッドを実行し、その後何度ボタンがクリックされても再レンダリングされないことがわかります。

Read next

データの可視化:一般的なグラフの選択

大規模なデータ可視化画面を作成する過程で、様々なグラフィックを選択することは、本当に脳細胞を費やすことになりますが、以下は一般的なグラフィックの選択方法をまとめたものです。 棒グラフは、最も広く使用され、一般的なデータグラフィックスの一つであり、その役割は主に次のとおりです:棒グラフ/棒グラフは、データの異なるカテゴリ間の違いを反映するために使用され、いくつかのカテゴリのカテゴリカルデータの可視化に適しています。 使用するためのいくつかの提案:できます...

Aug 22, 2020 · 2 min read