코딩어렵넹
10
2020-10-18 17:47:02
2
115

react 질문 드립니다. 초보자입니다.


import React,{ useState } from 'react';


function Hello(){
    const [textsetText] = useState({
        name: '',
        nickname: '',
    });
    const {name,nickname} = text;
    const onChange = (e=>{
        const {name,value} = e.target;

        setText({
            ...text,
            [name]: value,
        });
    }
    const onReset = () =>{
        setText({
            name: '',
            nickname: ''
        });
    }
    return (
        <>
            <input name="name" placeholder="이름" onChange={onChange} value={name} />
            <input name="nickname" placeholder="닉네임" onChange={onChange} value={nickname}/>
            <button onClick={onReset}>reset</button>
    <h2>이름:{name}({nickname})</h2>
        </>
    );
}
export default Hello;

이번에 강의를 들으면서 공부를 하고 있습니다. 여기에서         
        setText({
            ...text,
            [name]: value,
        });
이 부분이 이해가 안 갑니다. name과 [name]차이를 잘 모르겠습니다
사용하면 어떻게 작동하는지 잘 모르겠습니다.
답변해주시면 감사하겠습니다.
0
  • 답변 2

  • Gear
    369
    2020-10-18 17:51:07 작성 2020-10-18 18:06:52 수정됨

    https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Object_initializer#ECMAScript_2015%EC%9D%98_%EC%83%88%EB%A1%9C%EC%9A%B4_%ED%91%9C%EA%B8%B0%EB%B2%95


    계산된 속성명이라는겁니다.

  • 반응콩
    14
    2020-10-19 10:42:00

    name 변수의 value 값이 객체의 속성명으로 들어갑니다.

    const {name,value} = e.target;

    라고 되어 있으니. name 의 value에는 e.target.name 값이 들어있겠네요.


  • 로그인을 하시면 답변 을 등록할 수 있습니다.