瀏覽代碼

eslint config, added context

master
Lazar Kostic 3 年之前
父節點
當前提交
3a14534af4

+ 6
- 1
.eslintrc.json 查看文件

@@ -5,10 +5,14 @@
},
"extends": [
"plugin:react/recommended",
"standard-with-typescript"
"standard-with-typescript",
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"overrides": [
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module",
@@ -17,6 +21,7 @@
]
},
"plugins": [
"@typescript-eslint",
"react"
],
"rules": {

+ 1
- 0
src/components/MUI/Examples/PagingSortingFilteringExampleServerSide.tsx 查看文件

@@ -20,6 +20,7 @@ import { useRandomData } from '../../../context/RandomDataContext';

const PagingSortingFilteringExampleServerSide = () => {
const [filterText, setFilterText] = useState('');
/*@ts-ignore*/
const { state, data } = useRandomData();
const { items, loading, totalCount, currentPage, itemsPerPage, sort } = data;
const { setPage, setItemsPerPage, setSort, setFilter } = state;

src/context/RandomDataContext.js → src/context/RandomDataContext.tsx 查看文件

@@ -2,8 +2,13 @@ import React, { createContext, useContext, useState } from 'react';
import PropTypes from 'prop-types';
import usePagingHook from '../hooks/usePagingHook';
import { getRequest } from '../request/jsonServerRequest';
import { FakeData } from '../db/db';

const apiCall = (page, itemsPerPage, sort, sortDirection, filter) =>
interface Props {
children: React.ReactNode;
}

const apiCall = (page: number, itemsPerPage: number, sort: string, sortDirection: string, filter: any) =>
getRequest('/items', {
_page: page,
_limit: itemsPerPage,
@@ -13,23 +18,25 @@ const apiCall = (page, itemsPerPage, sort, sortDirection, filter) =>
...(filter && { q: filter }),
});


/* @ts-ignore */
const Context = createContext();
export const useRandomData = () => useContext(Context);

const RandomDataProvider = ({ children }) => {
const setPage = (page) => {
const RandomDataProvider: React.FC<Props> = ({ children }) => {
const setPage = (page: number) => {
setState({ ...state, page });
};

const setItemsPerPage = (itemsPerPage) => {
const setItemsPerPage = (itemsPerPage: number) => {
setState({ ...state, itemsPerPage });
};

const setSort = (sort) => {
const setSort = (sort: string) => {
setState({ ...state, sort });
};

const setFilter = (filter) => {
const setFilter = (filter: string) => {
setState({ ...state, filter });
};

@@ -49,6 +56,7 @@ const RandomDataProvider = ({ children }) => {
state.itemsPerPage,
state.sort,
state.filter,
/*@ts-ignore*/
apiCall
);
return (

Loading…
取消
儲存