Front-End/React

[React] 3. 글 제목 수정하기

발전하는 개발자 2022. 6. 7. 10:54
728x90
반응형

[수정 버튼 클릭하면 글 제목 '남자 코트 추천' -> '여자 코트 추천'으로 바꾸기]

 

1. 덮어 씌우기

function App() {

  let [글제목, 글제목변경] = useState(['남자 코트 추천', '강남 우동맛집', '파이썬독학']);

  return (
    <div className="App">

      <button onClick={()=>{
      글제목변경(['여자 코트 추천', '강남 우동맛집', '파이썬독학'])
    }}>수정버튼</button>

 

2. 원하는 요소만 바꾸기

데이터가 많을 때는 원하는 요소만 변경하는 것이 코드가 깔끔함.

function App() {

  let [글제목, 글제목변경] = useState(['남자 코트 추천', '강남 우동맛집', '파이썬독학']);

  return (
    <div className="App">

      <button onClick={()=>{
      글제목[0] = '여자코트 추천';  
      <!--글제목이라는 array에서 0번째 요소(남자 코트 추천) 찾아 변경-->
      글제목변경(글제목) 
      <!--state변경함수인 글제목변경에 글제목이라는 요소를 집어 넣음.-->
    }}>수정버튼</button>

 

3. 복사본 만들어서 변경

원본 데이터가 손상되면 다시 원본 데이터가 필요할 때 사용할 수 없으므로 복사해서 변경하는 것이 좋음

function App() {

  let [글제목, 글제목변경] = useState(['남자 코트 추천', '강남 우동맛집', '파이썬독학']);

  return (
    <div className="App">

      <button onClick={()=>{
      let copy = [...글제목]; 
      <!-- 글제목을 복사하되 원본과 다르다는 것을 나타내기 위해 ...사용-->
      글제목[0] = '여자코트 추천';  
      <!--글제목이라는 array에서 0번째 요소(남자 코트 추천) 찾아 변경-->
      글제목변경(copy) 
      <!--state변경함수인 글제목변경에 copy라는 요소를 집어 넣음.-->
    }}>수정버튼</button>

state변경 함수는 기존 state와 신규 state가 같은지 비교 후에 변경.

array 변수를 복사하게 되면 그 값을 복사하는 것이 아니라 그 값을 저장한 위치를 변경한 것임.

그래서 '남자 코트 추천'을 '여자 코트 추천'이라고 바꿔도 같은 값으로 인식함.

복사본을 독립적인 state로 인식하기 위해... 을 사용함.

 

 

[정렬 버튼 누르면 가나다 순으로 정렬]

function App() {

  let [글제목, 글제목변경] = useState(['남자 코트 추천', '강남 우동맛집', '파이썬독학']);

  return (
    <div className="App">

      <button onClick={()=>{
      let copy = [...글제목]; 
      <!-- 글제목을 복사하되 원본과 다르다는 것을 나타내기 위해 ...사용-->
      copy.sort();  
      <!-- sort()는 정렬함수 -->
      글제목변경(copy)       
      <!--state변경함수인 글제목변경에 copy라는 요소를 집어 넣음.-->
    }}>수정버튼</button>
728x90
반응형