πŸ“ 였늘 ν•œ 것

  1. coin trakcer

πŸ“š 배운 것

1. PRACTICE

2) coin tracker

(1) useState, useEffect

처음 앱에 듀어왔을 λ•Œ λ‘œλ”© λ©”μ‹œμ§€λ₯Ό 보여주고 코인듀이 λ‚˜μ—΄λ˜λ©΄ λ‘œλ”© λ©”μ‹œμ§€λ₯Ό 숨긴 ν›„ 코인듀을 μ •λ¦¬λœ 리슀트둜 보여주도둝 ν•΄μ•Ό ν•œλ‹€.

import { useState, useEffect } from "react";

function App() {
  const [loading, setLoading] = useState(true);
  const [coins, setCoins] = useState([]);

  // μ»΄ν¬λ„ŒνŠΈκ°€ 처음 생성됐을 λ•Œ fetchλ₯Ό μ΄μš©ν•΄ μš”μ²­μ„ 보낸 ν›„ 응닡을 λ°›μ•„μ˜¨λ‹€
  useEffect(() => {
    fetch("https://api.coinpaprika.com/v1/tickers")
      .then((response) => response.json())
      .then((data) => {
        setCoins(data);
        setLoading(false); // μ΄λ•Œ loading λ³€μˆ˜μ˜ 값도 λ°”κΏ”μ•Ό ν•œλ‹€
      });
  }, []);

  return (
    <div>
      <h1>The Coins ({loading ? null : `(${coins.length})`)</h1>
      {loading ? <strong>λ‘œλ”© 쀑...</strong> : (
        <ul>
          {coins.map((coin) => (
            <li key={coin.id}>
              {coin.name} ({coin.symbol}): ${coin.quotes.USD.price} USD
            </li>
          ))}
        </ul>
      )}
    </div>
  );
}

export default App;

(2) USD ↔ BTC λ‹¨μœ„ λ³€ν™˜

μ•žμ—μ„œ 배운 λ‚΄μš© 볡슡

const [amount, setAmount] = useState(0);
const [flipped, setFlipped] = useState(false);

const onChange = (event) => setAmount(event.target.value);
const onFlip = () => {
  setFlipped((prev) => !prev);
  reset();
};
const reset = () => setAmount(0);

return (
  <div>
    // μ€‘λž΅
    <div>
      <input
        value={!flipped ? amount : amount * 36955}
        onChange={onChange}
        placeholder="USD"
        type="number"
        disabled={flipped}
      />
      <input
        value={flipped ? amount : amount * 0.000027}
        onChange={onChange}
        placeholder="BTC"
        type="number"
        disabled={!flipped}
      />
    </div>
    <button onClick={onFlip}>Flip</button>
    <button onClick={reset}>Reset</button>
    <hr />
    // μ€‘λž΅
  </div>
);

✨ 내일 ν•  것

  1. PRACTICE
profile
dev log

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보

Powered by GraphCDN, the GraphQL CDN