상세 컨텐츠

본문 제목

[React] 리액트 훅( useState )

REACT

by 혀누쓰0 2022. 7. 5. 00:31

본문

https://hyunu0504.github.io/blog8/

 

React App

 

hyunu0504.github.io

 

 

 

 

리액트 훅이란 함수형 컴포넌트에서 클래스형 컴포넌트에서 사용하는 기능을

 

사용할 수 있게 한다.

 

useState는 상태관리 함수다.

 

let/var/const처럼 값을 저장할때 사용한다.

 

사용방법은 useState를 import 한다.

 

 

 

 

 

var/let/const [ 작명, set작명 ] = useState( 초기값 )

 

배열형태로 받는다 첫번째는 변수의 이름이다.

 

두번째는 값을 변경할때 사용한다.( set~~로 작명한다. )

 

위에서 setTime( 변경할 값 )을 입력하면 useState안의 값이 변경된다.

 

세번째 useState는 초기값이다.

 

 

 

 

 

useState을 이용해서 초기값 1에서 2개의 버튼을 만들고 더하기 빼기 버튼을 만들었다.

 

function App() {
  var time = 1;

  function add(){
     time+=1
    document.querySelector('.count').innerHTML = time;
  }
  function remove(){
    time-=1
   document.querySelector('.count').innerHTML = time;
 }
  return (
    <div className="App">
      <div className="count">{time}</div>
      <button onClick={add}>빼기</button>
      <button onClick={remove}>더하기</button>
      </div>
  );
}

 

일반적인 변수면 변경된 변수 값을 html에 넣어야 된다.

 

 

 

 

 

useState를 사용하면 값이 변경될때마다 재랜더링을 해준다.

 

 

 

 

 

 

 

 

버튼누르면 input안에 값 리스트 추가 

 

import "./App.css";
import styled from "styled-components";
import { useState } from "react";

const Box = styled.div`
  font-size: 300px;
  color: red;
`;
const Title = styled.p`
  font-size: 24px;
  border: solid green 1px;
`;

function App() {
  const [count, setCount] = useState(0);
  const [list, setList] = useState(["리스트1", "리스트2"]);
  const [blankList, setBlankList] = useState("");
  function addList() {
    setList((e) => {
      return [...e, blankList];
    });
  }
  return (
    <div className="App">
      <Box> {count} </Box>
      <button onClick={() => setCount(count + 1)}>+</button>
      <button onClick={() => setCount(count - 1)}>-</button>
      <p></p>
      <input type="text" onChange={(e) => setBlankList(e.target.value)}></input>
      <button onClick={addList}> 추가 버튼 </button>

      {list.map((e, index) => {
        return <Title key={index}>{e}</Title>;
      })}
    </div>
  );
}

export default App;

 

 

'REACT' 카테고리의 다른 글

[React] props  (0) 2022.07.09
[React] 리액트 훅( useEffect )  (0) 2022.07.06
[React] CSS in JS ( styled-components )  (0) 2022.07.01
[React] CSS ( module.css , sass/scss )  (0) 2022.06.30
[React] component, import, export, map  (0) 2022.06.27

관련글 더보기