• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

useRef 사용에 대한 질문입니다.

22.06.11 16:47 작성 조회수 152

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
안녕하세요
 
우선 강의 내용과는 상관없는 Typescipt에 대한 질문을 드려 죄송합니다.
 
useRef 강의를 공부중입니다.
 
import React, { useState, useEffect, useRef } from 'react';
import { TextInput } from 'react-native';
import styled from 'styled-components/native';
import Button from './Button';

const StyledInput = styled.TextInput`
border: 1px solid #111111;
padding: 10px;
margin: 10px 0;
width: 200px;
font-size: 24px;
`;

const StyledText = styled.Text`
font-size: 24px;
margin: 10px;
`;

const Form = () => {
const [name, setName] = useState('');
const [email, setEmail] = useState('');

const refName = useRef<TextInput>(null);
const refEmail = useRef<TextInput>(null);
// const refName = useRef<HTMLInputElement | null>(null);
// const refEmail = useRef<HTMLInputElement | null>(null);

const count = 0;

useEffect(() => {
console.log('--------Mount--------');
refName.current?.focus();
return () => console.log('--------UnMount--------');
}, []);

useEffect(() => {
console.log(`name : ${name}, email : ${email}`);
}, [email]);

const onSubmit = () => console.log('submit');

return (
<>
<StyledText>Name : {name}</StyledText>
<StyledText>Email : {email}</StyledText>
<StyledInput
ref={refName}
value={name}
onChangeText={text => setName(text)}
returnKeyType={'next'}
onSubmitEditing={() => refEmail.current?.focus()}
placeholder={'Name'}
/>
<StyledInput
ref={refEmail}
value={email}
onChangeText={text => setEmail(text)}
returnKeyType={'done'}
onSubmitEditing={onSubmit}
placeholder={'Email'}
/>
<Button title="count" onPress={() => count + 1} />
<StyledText>count : {count}</StyledText>
</>
);
};

export default Form;
 
강의 내용처럼 코드를 다 작성하고 typesciprt 적용해보면서 공부중인데 아래 typescript 오류가 도저히 해결이 안되어서
혹시 도움을 받을수 있을까 해서 질문드려봅니다.
 
 

답변 1

답변을 작성해보세요.

0

안녕하세요 Sang heon lee 님

  

강의를 벗어난 내용에 대한 질문에 대해서는 답변하고 있지 않는 부분 이해해 주시면 감사하겠습니다. 

  

즐거운 하루 되세요

감사합니다