가수면

State 본문

JavaScript/TypeScript

State

니비앙 2023. 1. 7. 00:52

숫자, 넘버 둘 다 사용하고 싶을 때

  const [counter, setCounter] = useState<number | string>(1);
  setCounter("안녕");

 

로그인 로직에 적용

버튼이 form 밖에 있을 경우 MouseEvent

import React, { useState } from "react";

const App = () => {
  const [value, setValue] = useState("");
  const onChange = (event: React.FormEvent<HTMLInputElement>) => {
    const { value } = event.currentTarget;
    setValue(value);
  };
  const onSubmit = (event: React.FormEvent<HTMLFormElement>) => {
    event.preventDefault();
    console.log("안녕", value);
  };
  return (
    <div>
      <form onSubmit={onSubmit}>
        <input value={value} onChange={onChange} type="text" placeholder="username" />
        <button>로그인</button>
      </form>
    </div>
  );
};

export default App;

 

초기값 설정

interface CoinInterface {
  id: string;
  name: string;
  symbol: string;
  rank: number;
  is_new: boolean;
  is_active: boolean;
  type: string;
}

function Coins() {
// <CoinInterface[]> => CoinInterface가 []이라고 알려줌
  const [coins, setCoins] = useState<CoinInterface[]>([]);

  return (
    <Container>
      <Header>
        <Title>코인</Title>
      </Header>
      <CoinsList>
        {coins.map((coin) => (
          <Coin key={coin.id}>
            <Link to={`/${coin.id}`}>{coin.name} &rarr;</Link>
          </Coin>
        ))}
      </CoinsList>
    </Container>
  );
}

'JavaScript > TypeScript' 카테고리의 다른 글

인터페이스 vs 타입 앨리어스  (0) 2023.03.22
string | undefined 등 props 관련 오류  (0) 2023.01.08
json 타입 가져오기  (0) 2023.01.08
props 예시  (0) 2023.01.06
기본 타입  (0) 2023.01.02
Comments