169 похожих чатов

Import React, { useState, useEffect } from 'react' import axios from

'axios'
import { BIG_TABLE_DATA_URL } from './API'
import styled from 'styled-components'
import { sortTypes } from './Sort'
import Tables from './Tables';
import Pagination from './Pagination';



const StyledSortBtn = styled.button `
background: black;
color: white;
width: 120px;
height: 40px;
border: none;
border-radius: 30px;
font-size: 20px`



const BigData = () => {
const [BigTableData, setBigTableData] = useState([]);
const [Loading, setLoading] = useState(false);
const [currentSort, setCurrentSort] = useState('default');
const [currentPage, setCurrentPage] = useState(1);
const [postsPerPage] = useState(10);



// Get current posts
const indexOfLastPost = currentPage * postsPerPage;
const indexOfFirstPost = indexOfLastPost - postsPerPage;
const currentPosts = BigTableData.slice(indexOfFirstPost, indexOfLastPost);


// Change page
const paginate = pageNumber => setCurrentPage(pageNumber);

// get data
useEffect(() => {
const fetchData = async () => {

setLoading(true);

const result = await axios(BIG_TABLE_DATA_URL);

setBigTableData(result.data);

setLoading(false);
};
fetchData();
}, [BIG_TABLE_DATA_URL])


function onChangeSort() {


let nextSort;

if (currentSort === 'down') nextSort = 'up';
else if (currentSort === 'up') nextSort = 'default';
else if (currentSort === 'default') nextSort = 'down'

setCurrentSort(nextSort)
}


return (
<React.Fragment>
{Loading ? (
<p>Loading...</p>
): (
<table>
<thead>
<tr>
<th>Id</th>
<th>firstName</th>
<th>lastName</th>
<th>email</th>
<th>phone</th>
<StyledSortBtn
onClick={onChangeSort}>
{currentSort}
</StyledSortBtn>

</tr>
</thead>
<tbody>
{[...BigTableData].sort(sortTypes[currentSort].fn).map(table => (
<tr key={table.id}>
<td>{table.id}</td>
<td>{table.firstName}</td>
<td>{table.lastName}</td>
<td>{table.email}</td>
<td>{table.phone}</td>
</tr>
))}
</tbody>
</table>
)}
<Tables BigTableData={currentPosts} Loading={Loading} />
<Pagination
postsPerPage={postsPerPage}
totalPosts={BigTableData.length}
paginate={paginate}
/>
</React.Fragment>
)
}





export default BigData

4 ответов

13 просмотров

Ох щиии

https://gist.github.com/

просто ctrl a, ctrl c, ctrl v. нах надо уважать других и их время, выделять проблему без мусора.

о, кажется я знаю, откуда тестовое задание ;dd

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта