본문 바로가기
노마드코더/REACT 크롬 앱

2. Form Submission

by 갱생angel 2024. 1. 24.

<추가 사항>

onSubmit 함수로 입력값 form으로 제출

  -제출했을 시 input 값 초기화

  -maxLength로 입력 길이 지정

  -required로 필수 입력 지정

  -preventDefault()로 새로고침 방지

 

componenet

  -Input.JSX

  -Button.JSX

module

  -Login.JSX

css

  -List.css

 

component - <Input.jsx> : maxLength로 입력 길이 지정, required로 필수 입력 지정

import React from 'react'

function Input({className, type, value, onChange, maxLength}) {
  return (
    <div>
      <input
        className={className}
        type={type}
        value={value}
        onChange={onChange}
        maxLength={maxLength} //입력 길이 지정
        required //필수 입력
      />
    </div>
  )
}

export default Input

 

module - <Login.jsx> : form으로 입력값 제출, 새로고침 방지, input 값 초기화

import React, {useState} from 'react'
import '../css/List.css'
import Input from '../component/Input'
import Button from '../component/Button'

function Login() {
  const [loginValue, setLoginValue] = useState('')

  const onChangeLogin = event => {
    setLoginValue(event.target.value)
  }

  const handleLogin = event => {
    console.log('Hello', loginValue)
    event.preventDefault() //새로고침 방지
    setLoginValue('') //input 초기화
  }

  return (
    <div>
      <form className="loginDiv" onSubmit={handleLogin}>
        <Input type={'text'} value={loginValue} onChange={onChangeLogin} maxLength={15} />
        <Button className={'logInButton'} name={'Login'} />
      </form>
    </div>
  )
}

export default Login

 

'노마드코더 > REACT 크롬 앱' 카테고리의 다른 글

6. Background Image  (0) 2024.01.27
5. Clock  (0) 2024.01.25
4. LocalStorage Username  (0) 2024.01.24
3. Getting Username  (0) 2024.01.24
1. Input Values  (0) 2024.01.24