Skip to content

Commit 56ff327

Browse files
committed
Replaced useState and useEffect with useQuery
1 parent f74f71d commit 56ff327

File tree

6 files changed

+383
-36
lines changed

6 files changed

+383
-36
lines changed

.eslintrc

Lines changed: 44 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,50 @@
1-
{
1+
{
22
"parser": "babel-eslint",
3-
"extends": ["prettier","eslint:recommended", "plugin:react/recommended"],
4-
"plugins": ["prettier", "react"],
3+
"extends": ["prettier", "eslint:recommended", "plugin:react/recommended"],
4+
"plugins": ["prettier", "react", "react-hooks"],
55
"rules": {
6-
"semi":"off",
7-
"jsx-quotes": [2, "prefer-single"],
8-
"react/jsx-curly-spacing": [2, {"when": "always", "spacing": {
9-
"objectLiterals": "never"
10-
}}],
11-
"react/jsx-equals-spacing": [2, "always"],
12-
"react/jsx-boolean-value": "error",
13-
"react/jsx-closing-bracket-location": "error",
14-
"react/jsx-first-prop-new-line": "error",
15-
"react/jsx-curly-newline": "error",
16-
"react/jsx-handler-names": "error",
17-
"react/jsx-indent-props": [ "error", 4 ],
18-
"react/jsx-indent": [ "error", 4 ],
19-
"react/jsx-key": "error",
20-
"react/jsx-max-props-per-line": [ "error", { "maximum": 2 }],
21-
"react/jsx-no-bind": "off",
22-
"react/jsx-no-literals": "off",
23-
"react/jsx-no-target-blank": "error",
24-
"react/jsx-pascal-case": "error",
25-
"react/jsx-sort-props": "error",
26-
"react/jsx-space-before-closing": "error"
6+
"semi": "off",
7+
"react-hooks/rules-of-hooks": "error", // Checks rules of Hooks
8+
"react-hooks/exhaustive-deps": "warn",
9+
"jsx-quotes": [2, "prefer-single"],
10+
"react/jsx-curly-spacing": [
11+
2,
12+
{
13+
"when": "always",
14+
"spacing": {
15+
"objectLiterals": "never"
16+
}
17+
}
18+
],
19+
"react/jsx-equals-spacing": [2, "always"],
20+
"react/jsx-boolean-value": "error",
21+
"react/jsx-closing-bracket-location": "error",
22+
"react/jsx-first-prop-new-line": "error",
23+
"react/jsx-curly-newline": "error",
24+
"react/jsx-handler-names": "error",
25+
"react/jsx-indent-props": ["error", 4],
26+
"react/jsx-indent": ["error", 4],
27+
"react/jsx-key": "error",
28+
"react/jsx-max-props-per-line": ["error", { "maximum": 2 }],
29+
"react/jsx-no-bind": "off",
30+
"react/jsx-no-literals": "off",
31+
"react/jsx-no-target-blank": "error",
32+
"react/jsx-pascal-case": "error",
33+
"react/jsx-sort-props": "error",
34+
"react/jsx-space-before-closing": "error",
35+
"space-infix-ops": "error",
36+
"no-unneeded-ternary": "error",
37+
"react/prop-types": 0,
38+
"allowAllPropertiesOnSameLine": 0
2739
},
2840
"env": {
29-
"es6": true
41+
"es6": true
3042
},
3143
"parserOptions": {
32-
"ecmaVersion": 6,
33-
"sourceType": "module",
34-
"ecmaFeatures": {
35-
"jsx": true
36-
}
37-
}
38-
}
44+
"ecmaVersion": 6,
45+
"sourceType": "module",
46+
"ecmaFeatures": {
47+
"jsx": true
48+
}
49+
}
50+
}

package-lock.json

Lines changed: 129 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
"version": "0.1.0",
44
"private": true,
55
"dependencies": {
6+
"axios": "^0.20.0",
67
"react": "^16.13.1",
78
"react-dom": "^16.13.1",
9+
"react-loading-skeleton": "^2.1.1",
810
"react-query": "^2.8.0",
911
"react-scripts": "3.4.3",
1012
"react-table": "^7.5.0"

src/App.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import React from 'react';
2-
import './App.css';
1+
import React from 'react'
2+
import './App.css'
3+
import ReactTable from './components/ReactTable'
34

45
function App() {
56
return (
67
<div className = 'App'>
7-
App
8+
<ReactTable />
89
</div>
910
)
1011
}
1112

12-
export default App;
13+
export default App

src/components/ReactTable.css

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
.people-table {
2+
background-color: #f5f5f5;
3+
margin: 30px;
4+
border-radius: 10px;
5+
padding: 20px;
6+
width: calc(100% - 100px);
7+
}
8+
table {
9+
width: 100%;
10+
}
11+
table > thead > tr > th {
12+
text-align: left;
13+
text-transform: uppercase;
14+
padding: 0 0 10px 0;
15+
border-bottom: 1px solid;
16+
}
17+
table > tbody > tr {
18+
height: 60px;
19+
text-align: left;
20+
}
21+
.pagination {
22+
display: flex;
23+
justify-content: flex-end;
24+
align-items: center;
25+
height: 50px;
26+
}
27+
.pagination > button {
28+
margin: 0 10px 0 0;
29+
height: 30px;
30+
cursor: pointer;
31+
border: 1px solid;
32+
}
33+
.pagination > button:disabled {
34+
cursor: not-allowed;
35+
}

0 commit comments

Comments
 (0)