강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

uphoon님의 프로필 이미지
uphoon

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

console에 아이디 value 비밀번호 value값을 입력해도 출력이 안되는데 어떤게 문제인지 알수 있을까요?

작성

·

357

0

import React, { useCallback, useState } from 'react';
import { Form, Input, Button } from 'antd';
import Link from 'next/dist/client/link';
import styled from 'styled-components'
import { useDispatch } from 'react-redux';
import { loginAction } from '../reducers';

const LoginForm = () => {
    const dispatch = useDispatch()

    const [id, setId] = useState("")
    const [password, setPassword] = useState("")

    const onChangeId = useCallback((e) => {
        setId(e.target.value);
    }, []);

    const onChangePw = useCallback((e) => {
        setPassword(e.target.value);
    }, []);

    const onSubmitForm = useCallback(() => {
        console.log(`id: ${id}, pw: ${password}`);
        dispatch(loginAction({ id, password }))
    }, [])

    return (
        <Form onFinish={onSubmitForm}>
            <div>
                <label htmlFor="user-id">아이디</label>
                <br />
                <Input type="text" name='user-id' value={id} onChange={onChangeId} />
            </div>
            <div>
                <label htmlFor="user-id">비밀번호</label>
                <br />
                <Input type="password" name='user-id' value={password} onChange={onChangePw} required />
            </div>
            <ButtonWrapper>
                <Button type="primary" htmlType="submit" loading={false}>로그인</Button>
                <Link href="/signup"><Button>회원가입</Button></Link>
            </ButtonWrapper>
        </Form>
    )
}

const ButtonWrapper = styled.div`
    margin-top: 10px;
`

export default LoginForm

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

onSubmitForm에서 배열에 [id, password] 하세요.

uphoon님의 프로필 이미지
uphoon

작성한 질문수

질문하기