React로 주식 시장 앱 구축
12059 단어 reactapijavascriptstockmarket
이것은 REST API 세계에 대한 매우 기본적인 애플리케이션입니다. 이 블로그를 통해 REST API를 사용하는 기본적인 요령을 터득하게 될 것입니다.
이 앱을 빌드하기 위해 codesandbox.io를 사용하고 있습니다.
다음은 이 애플리케이션의 최종 출력을 엿보는 것입니다.
좋아! cooooddiiinngg에 들어가 봅시다.
심상
먼저 정확히 무엇을 만들 것인지 시각화해 볼까요?
JSX 설정
<header>
<h2>Stock Calculator</h2>
</header>
만세! 헤더가 설정되었습니다. 좋아, 흥분을 가라앉히고 이제 손을 더럽히자.
이제 나머지 JSX 요소를 만들어 보겠습니다.
<input
placeholder="Stock Name"
onInput={(event) => setStock(event.target.value)}
/>
<input
placeholder="Purchased Price"
onInput={(event) => setPurchasedPrice(event.target.value)}
/>
<input
placeholder="Quantity Purchased"
onInput={(event) => setQuantityPurchased(event.target.value)}
/>
<button onClick={clickHandler}
Submit
</button>
<p id="output">
{output}
</p>
이제 { useState }를 가져오지 않았고 관련 변수에 대한 useState를 초기화하지 않았기 때문에 수많은 오류 메시지가 표시될 것입니다.
그럼 그렇게 해볼까요? :디
const [stock, setStock] = useState("");
const [purchasedPrice, setPurchasedPrice] = useState("");
const [quantityPurchased, setQuantityPurchased] = useState("");
const [output, setOutput] = useState("");
API와 통합
이 블로그의 목적으로 사용하는 API는 finnhub.io에서 가져온 것입니다. 이 특정 API를 선택한 특별한 이유는 없습니다. 이것이 제가 처음 찾은 것이었고 통합하기가 충분히 쉬웠습니다! :디
finnhub에서 API 키/토큰 받기
Finnhub.io --> 무료 API 키 받기 --> API 키 복사
완료되면 Finnhub.io --> Documentation --> Stock Price --> Quote로 진행할 수 있습니다.
의문 사항이 있는 경우 문서를 참조할 수 있습니다.
어쨌든 충분한 이야기, 코딩으로 가자! :)
const url = "https://finnhub.io/api/v1/quote?";
function stockURL(stock) {
let name = stock.toUpperCase();
return url + "symbol=" + name + "&token=c07um4f48v6uu9ck9l4g";
}
API의 URL을 정의한 다음 토큰 키와 함께 원하는 주식의 이름이 있는 URL로 반환되는 함수를 만들었습니다.
이제 Fetch Call에 들어갑시다.
// clickHandler() is the function that gets called when we press the Submit button
function clickHandler() {
// Point 1
fetch(stockURL(stock))
//Point 2
.then((response) => response.json())
//Point 3
.then((event) => {
let currentPrice = event.c;
//Point 4
let totalPastPrice = parseInt(purchasedPrice) * parseInt(quantityPurchased);
let totalCurrentPrice = parseInt(currentPrice) * parseInt(quantityPurchased);
let balance = totalCurrentPrice - totalPastPrice;
// Point 5
if (balance > 0) {
let percentage = (
(parseInt(quantityPurchased) / parseInt(purchasedPrice)) *
100
).toFixed(2);
setOutput(
`You made a profit of ${percentage} which amounts to $ ${balance} `
);}
else if (balance < 0) {
var percentage = (
(parseInt(purchasedPrice) / parseInt(quantityPurchased)) *
100
).toFixed(2);
setOutput(
`You made a loss of ${percentage}% which amounts to $${-balance} `
);}
else setOutput("You made neither a profit nor a loss.");
})
//Point 6
.catch((event) => alert("There is something wrong with the server"));}
이제 setOutput 즉. 출력 상자에 표시합니다. 균형 음수 및 0에 대해 유사한 프로세스가 발생합니다.
만세! 그게 다야.
이제 CSS를 추가하고 원하는 대로 스타일을 지정할 수 있습니다. 사용자가 목록에서 주식을 선택할 수 있도록 추가할 수도 있습니다.
Click here 라이브 데모 링크.
면책 조항: 저는 웹 개발 세계의 완전한 초보자입니다. 따라서 모범 사례를 연습하지 않은 경우 알려주십시오. 그러면 기꺼이 수정하겠습니다. :디
나는 여행과 경험을 와 에 기록합니다.
Reference
이 문제에 관하여(React로 주식 시장 앱 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/themohammadsa/build-a-stock-market-app-with-react-3ili텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)