hooks - memo

This commit is contained in:
haerong22
2020-12-22 20:37:34 +09:00
parent aa242cf0fb
commit c9f88b76ea
5 changed files with 12 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
import React, { Component } from 'react'; import React, { PureComponent } from 'react';
import Try from './Try'; import Try from './Try-class';
// 숫자 4개를 겹치지않고 랜덤하고 뽑는 함수 // 숫자 4개를 겹치지않고 랜덤하고 뽑는 함수
function getNumbers() { function getNumbers() {
@@ -12,7 +12,7 @@ function getNumbers() {
return array; return array;
} }
class NumberBaseball extends Component { class NumberBaseball extends PureComponent {
state = { state = {
result: '', result: '',
value: '', value: '',

View File

@@ -1,4 +1,4 @@
import React, { useState } from 'react'; import React, { useState, memo } from 'react';
import Try from './Try'; import Try from './Try';
// 숫자 4개를 겹치지않고 랜덤하고 뽑는 함수 // 숫자 4개를 겹치지않고 랜덤하고 뽑는 함수
@@ -12,7 +12,7 @@ function getNumbers() {
return array; return array;
} }
const NumberBaseball = () => { const NumberBaseball = memo(() => {
const [result, setresult] = useState(''); const [result, setresult] = useState('');
const [value, setvalue] = useState(''); const [value, setvalue] = useState('');
const [answer, setanswer] = useState(getNumbers()); const [answer, setanswer] = useState(getNumbers());
@@ -76,5 +76,5 @@ const NumberBaseball = () => {
</ul> </ul>
</> </>
) )
} });
export default NumberBaseball; // import NumberBaseball export default NumberBaseball; // import NumberBaseball

View File

@@ -1,6 +1,6 @@
import React, { Component } from 'react'; import React, { PureComponent } from 'react';
class Try extends Component { class Try extends PureComponent {
render() { render() {
const { tryInfo } = this.props; const { tryInfo } = this.props;
return ( return (

View File

@@ -1,11 +1,11 @@
import React from 'react'; import React, { memo } from 'react';
const Try = ({ tryInfo }) => { const Try = memo(({ tryInfo }) => {
return ( return (
<li> <li>
<div>{tryInfo.try}</div> <div>{tryInfo.try}</div>
<div>{tryInfo.result}</div> <div>{tryInfo.result}</div>
</li> </li>
) )
} });
export default Try; export default Try;

View File

@@ -1,7 +1,7 @@
import React from 'react'; import React from 'react';
import ReactDom from 'react-dom'; import ReactDom from 'react-dom';
import Test from './RenderTest'; import Test from './NumberBaseball';
ReactDom.render(<Test />, document.querySelector('#root')); ReactDom.render(<Test />, document.querySelector('#root'));