From 7d075b188238e852d935820cfcc24f1387b78613 Mon Sep 17 00:00:00 2001 From: Deluan Date: Fri, 27 Nov 2020 12:02:46 -0500 Subject: [PATCH] Make SongDatagrid faster by using PureDatagridBody --- ui/src/common/SongDatagrid.js | 50 ++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/ui/src/common/SongDatagrid.js b/ui/src/common/SongDatagrid.js index 97e7b475..2f735260 100644 --- a/ui/src/common/SongDatagrid.js +++ b/ui/src/common/SongDatagrid.js @@ -1,6 +1,6 @@ import React, { isValidElement, useMemo, useCallback } from 'react' import { useDispatch } from 'react-redux' -import { Datagrid, DatagridBody, DatagridRow } from 'react-admin' +import { Datagrid, PureDatagridBody, DatagridRow } from 'react-admin' import { TableCell, TableRow, Typography } from '@material-ui/core' import PropTypes from 'prop-types' import { makeStyles } from '@material-ui/core/styles' @@ -119,10 +119,9 @@ SongDatagridRow.defaultProps = { onClickDiscSubtitle: () => {}, } -export const SongDatagrid = ({ +const SongDatagridBody = ({ contextAlwaysVisible, showDiscSubtitles, - classes, ...rest }) => { const dispatch = useDispatch() @@ -160,21 +159,36 @@ export const SongDatagrid = ({ return set }, [ids, data, showDiscSubtitles]) - const SongDatagridBody = (props) => { - return ( - - } - /> - ) - } - return } classes={classes} /> + return ( + + } + /> + ) +} + +export const SongDatagrid = ({ + contextAlwaysVisible, + showDiscSubtitles, + ...rest +}) => { + return ( + + } + /> + ) } SongDatagrid.propTypes = {