restructured folder

This commit is contained in:
2021-08-28 11:44:05 +07:00
parent db7f20613f
commit 46f5dfeb36
33 changed files with 5188 additions and 3466 deletions
File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

+41
View File
@@ -0,0 +1,41 @@
import React, { useState, useEffect } from 'react'
import axios from 'axios'
import Filter from './components/Filter'
const App = () => {
const [newSearch, setNewSerach] = useState('')
const [CountryList, setCountryList] = useState([])
const handleSearchChange =(event) => {
setNewSerach(event.target.value)
}
useEffect(() => {
axios
.get('https://restcountries.eu/rest/v2/all')
.then(response => {
setCountryList(response.data)
console.log(CountryList)
})
}, [])
const filtered = CountryList.filter(country => country.name.toLowerCase().includes(newSearch.toLowerCase()))
console.log(newSearch.toLowerCase())
return (
<div>
<h2>Country</h2>
<Filter value={newSearch} onChange={handleSearchChange} />
{
filtered.length > 10 ?
'Too many matches, specific another filter' :
filtered.map(item => <p key={item.alpha2Code}>{item.name}</p>)
}
</div>
)
}
export default App
File diff suppressed because it is too large Load Diff
@@ -6,6 +6,7 @@
"@testing-library/jest-dom": "^5.14.1", "@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7", "@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3", "@testing-library/user-event": "^12.8.3",
"axios": "^0.21.1",
"react": "^17.0.2", "react": "^17.0.2",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"react-scripts": "4.0.3", "react-scripts": "4.0.3",
@@ -15,7 +16,8 @@
"start": "react-scripts start", "start": "react-scripts start",
"build": "react-scripts build", "build": "react-scripts build",
"test": "react-scripts test", "test": "react-scripts test",
"eject": "react-scripts eject" "eject": "react-scripts eject",
"server": "json-server -p3001 --watch db.json"
}, },
"eslintConfig": { "eslintConfig": {
"extends": [ "extends": [
@@ -34,5 +36,8 @@
"last 1 firefox version", "last 1 firefox version",
"last 1 safari version" "last 1 safari version"
] ]
},
"devDependencies": {
"json-server": "^0.16.3"
} }
} }

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

@@ -1,19 +1,26 @@
import React, { useState } from 'react' import React, { useState, useEffect } from 'react'
import axios from 'axios'
import Filter from './components/Filter' import Filter from './components/Filter'
import PersonForm from './components/PersonForm' import PersonForm from './components/PersonForm'
import Person from './components/Person' import Person from './components/Person'
const App = () => { const App = () => {
const [ persons, setPersons ] = useState([ const [ persons, setPersons ] = useState([])
{ name: 'Arto Hellas', number: '040-123456' },
{ name: 'Ada Lovelace', number: '39-44-5323523' },
{ name: 'Dan Abramov', number: '12-43-234345' },
{ name: 'Mary Poppendieck', number: '39-23-6423122' }
])
const [ newName, setNewName ] = useState('') const [ newName, setNewName ] = useState('')
const [ newNumber, setNewNumber ] = useState('') const [ newNumber, setNewNumber ] = useState('')
const [ newSearch, setNewSearch ] = useState('') const [ newSearch, setNewSearch ] = useState('')
useEffect(() => {
axios
.get('http://localhost:3001/persons')
.then(response => {
console.log('promise fulfilled')
setPersons(response.data)
})
}, [])
//console.log(persons)
const handleNameChange = (event) => { const handleNameChange = (event) => {
//console.log(event.target.value) //console.log(event.target.value)
setNewName(event.target.value) setNewName(event.target.value)