-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathApp.jsx
65 lines (57 loc) · 2.38 KB
/
App.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { useState } from "react";
import GetRequestAsyncAwait from "./GetRequestAsyncAwait";
import GetRequestErrorHandlingWithTryCatch from "./GetRequestErrorHandling";
import GetRequestSetHeaders from "./GetRequestSetHeaders";
import GetRequestHooks from "./GetRequestHooks";
const ReactFetchGetApp = () => {
const [packageName, setPackageName] = useState("React");
const [searchedPackageName, setSearchedPackageName] = useState("React");
const handleSubmit = (event) => {
event.preventDefault();
setSearchedPackageName(packageName);
};
const handleChange = (event) => {
setPackageName(event.target.value);
};
return (
<>
<div className="flex flex-col flex-wrap items-center justify-center text-center">
<h1 className="h-auto w-auto p-4 bg-slate-700 border-1 rounded-lg text-center text-3xl text-white">
React HTTP GET Requests for NPM API using Fetch in Different way
</h1>
</div>
<form onSubmit={handleSubmit}>
<div className="w-full mt-8 flex flex-row flex-wrap gap-3 justify-center items-end ">
<div className="min-w-96 sm:min-w-64 xsm:min-w-48 flex flex-col gap-1">
<label htmlFor="npmPackage">NPM Packages</label>
<input
id="npmPackage"
type="text"
className="bg-white border border-gray-300 text-black text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
name="npmPackage"
value={packageName}
onChange={handleChange}
placeholder="Search NPM Packages"
required
/>
</div>
<button
className="bg-green-700 hover:bg-green-800 text-white font-bold py-2 px-4 rounded-md"
type="submit"
>
Search
</button>
</div>
</form>
<div className="my-5 space-y-5">
<GetRequestHooks searchedPackageName={searchedPackageName} />
<GetRequestAsyncAwait searchedPackageName={searchedPackageName} />
<GetRequestErrorHandlingWithTryCatch
searchedPackageName={searchedPackageName}
/>
<GetRequestSetHeaders searchedPackageName={searchedPackageName} />
</div>
</>
);
};
export default ReactFetchGetApp;