ํธ์์ ์์ฑํ๋ form์ ๋ง๋ค์ด ๋ณด์.
ํธ์ํฐ์์ ํธ์์ ์์ฑํ๋ form์ ์ด๋ ๊ฒ ์๊ฒผ๋ค.

๋ก๊ทธ์ธ ํ ํํ๋ฉด์์ ์์ ๊ฐ์ ํ๋ฉด์ด ๋ ๋๋๊ฒ ํ๊ธฐ ์ํด routes/Home.js์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋๋ค.

useState()๋ฅผ ์ฌ์ฉํ์ฌ input์์ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ๋ value๊ฐ์ ๋ฐ์์ค์.
์ด๋ onChange ์ด๋ฒคํธ๋ฅผ ๋ฆฌ์จํ๋ onChange ํจ์๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์
๋ ฅํ value๊ฐ(ํธ์ ๋ด์ฉ)์ด setTweet(value)๋ก ์
๋ฐ์ดํธ๋๋ค.
"๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์?" input์ value ๊ฐ์ state์ ๊ฐ๊ณผ ๋์ผํ๊ฒ {tweet}๋ก ์ค์ ํ์ฌ onChage์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ํตํด ์
๋ฐ์ดํธ๋ ์ต์ state๊ฐ์ ๋ฐ์์ค๊ฒ ํ๋ค.form์ onSubmit ์ด๋ฒคํธ๋ฅผ ๋ฆฌ์จํ๋ onSubmit ํจ์์ event.preventDefault();๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉ์๊ฐ ํธ์ ๋ด์ฉ์ ์
๋ ฅ ํ ํธ์ํดํ๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ submit ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋๋ผ๋ ํ์ด์ง๊ฐ ์๋ก๊ณ ์นจ๋์ง ์๊ฒํ๋ค.
import React, { useState } from "react";
const Home = () => {
const [tweet, setTweet] = useState("");
const onSubmit = (event) => {
event.preventDefault();
};
const onChange = (event) => {
const {
target: { value },
} = event;
setTweet(value);
//console.log(tweet);
};
return (
<div>
<form onSubmit={onSubmit}>
<input
type="text"
placeholder="๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์?"
maxLength={120}
value={tweet}
onChange={onChange}
/>
<input type="submit" value="ํธ์ํดํ๊ธฐ" />
</form>
</div>
);
};
export default Home;
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ๋ค.

Cloud Firestore์ ๋ณด์ ๊ท์น์ ํ
์คํธ ๋ชจ๋์์ ์์์ ์ ํํ๋ค.

Cloud Firesotre ์์น๋ฅผ ์ค์ ํ๋ค. ์ ์ผ ๊ฐ๊น์ด ๊ณณ์ ์ ํํ๋ฉด ๋๋ค.


์ด์ Firebase์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ฝ๋์ ๊ฐ์ ธ์์ผ ํ๋ค.
fbase.js์ ํ์ด์ด๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ importํ์.
//ํ์ด์ด๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ฐ์ ธ์ค๊ธฐ
import "firebase/database";