두개재 두개재 :3
function App() {
const [loading, setLoading] = useState(true);
return (
<div>
<h1>The Coins!</h1>
{loading ? <h1>Loading...</h1> : null}
</div>
)
}
<h1>Loading...</h1>
메시지를 보여주고,function App() {
const [coins, setCoins] = useState([]);
const [loading, setLoading] = useState(true);
useEffect(()=>{
fetch("https://api.coinpap...")
.then((response) => response.json())
.then((json) => {
setCoins(json)
setLoading(false);
});
}, [])
return (
<div>
<h1>The Coins!</h1>
{loading ? <h1>Loading...</h1> : null}
<ul>
{coins.map((coin) =>
<li>
...
</li>
)}
</ul>
</div>
)
}
map()
을 사용했으나 두번째 인자로 index 를 받지 않는 이유 return (
<div>
<h1>The Coins!</h1>
{loading ? <h1>Loading...</h1> : null}
<ul>
{coins.map((coin) =>
<li>
{coin.name} ({coin.symbol}): {coin.quotes.USD.price} USD
</li>
)}
</ul>
</div>
)
input
태그를 사용해 값을 넣고 결과를 볼 수 있도록 하자function App() {
const [loading, setLoading] = useState(true);
const [coins, setCoins] = useState([]);
const [money, setMoney] = useState(0);
const onChange = (event) => {
setMoney(event.target.value);
};
useEffect(()=>{
fetch("https://api.coin...")
.then((response) => response.json())
.then((json) => {
setCoins(json)
setLoading(false);
});
}, [])
return (
<div>
<h1>The Coins Tracker!</h1>
<hr />
<label>USD $
<input
placeholder="input your money"
onChange={onChange}
type="number"
value={money}
/>
→ </label>
<select>
{coins.map((coin) => (
<option>
{coin.name} ({coin.symbol}): You Can Buy
{Math.round(money / coin.quotes.USD.price)}
</option>
</select>
</div>
)
};
export default App;
input
태그 옆에 <select>
,<option>
을 사용하여 몇개의 btc, ETH 등을 살 수 있는지 볼 수 있게 했다.