Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

성장일지

리액트 배우기 (컴포넌트 반복) 본문

나의 성장기

리액트 배우기 (컴포넌트 반복)

발전하고싶은개발자 2021. 3. 22. 23:47

import React, { useState } from "react";

 

const IterationSample = () => {

  const [namessetNames] = useState([

    { id: 1text: "눈사람" },

    { id: 2text: "얼음" },

    { id: 3text: "눈" },

    { id: 4text: "바람" },

  ]);

  const [inputTextsetInputText] = useState("");

  const [nextIdsetNextId] = useState(5);

 

  const onChange = (e=> setInputText(e.target.value);

  const onClick = () => {

    const nextNames = names.concat({

      id: nextId,

      text: inputText,

    });

    setNextId(nextId + 1);

    setNames(nextNames);

    setInputText("");

  };

 

  const onRemove = (id=> {

    const nextNames = names.filter((name=> name.id !== id);

    setNames(nextNames);

  };

 

  const namesList = names.map((name=> (

    <li key={name.id} onDoubleClick={() => onRemove(name.id)}>

      {name.text}

    </li>

  ));

  return (

    <>

      <input value={inputText} onChange={onChange} />

      <button onClick={onClick}>추가</button>

      <ul>{namesList}</ul>

    </>

  );

};

 

export default IterationSample;

 

'나의 성장기' 카테고리의 다른 글

유튜브  (0) 2021.07.12
유튜브  (0) 2021.07.02
밀리의 서재  (0) 2021.07.02
유튜브  (0) 2021.07.01
유튜브  (0) 2021.07.01