

indicates the general goal of the request
Indicates whether or not the request is successful
==> ์ด๋ฐ ๋ฐฉ์๋ค์ ์ ๋ฌ ๋ฐ๊ธฐ๊น์ง ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
We use Axios or Fetch
Axios => npm install axios
axios.get(url,{
headers:{},
params:{}
})
const response = await axios.get("https://api.unsplash.com/search/photos", {
headers: {
Authorization: "Client-ID UihYZBnIemAxFhy4kPzyBcmtQTbKtGVeuyJmJQt3ipQ",
},
params: {
query: term,
},
});
axios.get : JS starts the request
await : tell the JS to wait for a response

App
export default function App() {
const [images, setImages] = useState([]);
const handleSubmit = async (term) => {
//getting the image frpm the searchImages takes time
const result = await searchImages(term);
setImages(result);
};
return (
<div>
<SearchBar onSubmit={handleSubmit}></SearchBar>
<ImageList searchWord={images}></ImageList>
</div>
);
}
SearchBar
function SearchBar({ onSubmit }) {
const [term, setTerm] = useState("");
const handleChange = (e) => {
e.preventDefault();
setTerm(e.target.value);
};
const handleFormSubmit = (e) => {
e.preventDefault();
// onSubmit(document.querySelector('input).value);
onSubmit(term);
};
return (
<div className="search-bar">
<form onSubmit={handleFormSubmit}>
<label>Enter search term</label>
<input onChange={handleChange} value={term} type="text" />
</form>
</div>
);
}
ImageList
export default function ImageList({ searchWord }) {
// const getImage = searchWord.map((item, index) => {
// return <ImageShow image={item.links.html} key={index} />;
// });
const renderedImages = searchWord.map((image) => {
return <ImageShow className="image-list" image={image} key={image.id} />;
});
return <div>{renderedImages}</div>;
}
Never get a value out of na input using a query selector
document.querySelector('input').value
** setTerm(e.target.value)