Javascript 如何禁用react admin的自动刷新功能
因此react admin似乎有一个功能,如果您空闲一段时间后返回,它将重新加载数据,大概是为了确保您查看的是最新版本的记录Javascript 如何禁用react admin的自动刷新功能,javascript,reactjs,react-admin,Javascript,Reactjs,React Admin,因此react admin似乎有一个功能,如果您空闲一段时间后返回,它将重新加载数据,大概是为了确保您查看的是最新版本的记录 这导致具有一些自定义组件的“我的编辑”功能出现一些问题。有没有办法禁用此自动重新加载功能?自动刷新由加载指示器(应用程序栏右上角的微调器图标)触发 您可以通过自己替换加载指示器来禁用自动刷新 import * as React from 'react'; import PropTypes from 'prop-types'; import classNames from
这导致具有一些自定义组件的“我的编辑”功能出现一些问题。有没有办法禁用此自动重新加载功能?自动刷新由加载指示器(应用程序栏右上角的微调器图标)触发 您可以通过自己替换加载指示器来禁用自动刷新
import * as React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { useSelector } from 'react-redux';
import { makeStyles } from '@material-ui/core/styles';
import CircularProgress from '@material-ui/core/CircularProgress';
import { useRefreshWhenVisible, RefreshIconButton } from 'react-admin';
const useStyles = makeStyles(
{
loader: {
margin: 14,
},
loadedIcon: {},
},
{ name: 'RaLoadingIndicator' }
);
const LoadingIndicator = props => {
const { classes: classesOverride, className, ...rest } = props;
useRefreshWhenVisible(); // <= comment this line to disable auto-refresh
const loading = useSelector(state => state.admin.loading > 0);
const classes = useStyles(props);
return loading ? (
<CircularProgress
className={classNames('app-loader', classes.loader, className)}
color="inherit"
size={18}
thickness={5}
{...rest}
/>
) : (
<RefreshIconButton className={classes.loadedIcon} />
);
};
LoadingIndicator.propTypes = {
classes: PropTypes.object,
className: PropTypes.string,
width: PropTypes.string,
};
export default LoadingIndicator;
import*as React from'React';
从“道具类型”导入道具类型;
从“类名称”导入类名称;
从'react redux'导入{useSelector};
从'@material ui/core/styles'导入{makeStyles};
从“@material ui/core/CircularProgress”导入CircularProgress;
从“react admin”导入{useRefreshWhenVisible,RefreshIconButton};
const useStyles=makeStyles(
{
加载器:{
差额:14,
},
loadedIcon:{},
},
{name:'RaLoadingIndicator'}
);
常量加载指示器=道具=>{
const{classes:classesOverride,className,…rest}=props;
useRefreshWhenVisible();//state.admin.load>0);
常量类=使用样式(道具);
退货(
) : (
);
};
LoadingIndicator.propTypes={
类:PropTypes.object,
类名:PropTypes.string,
宽度:PropTypes.string,
};
导出默认加载指示器;
您还需要将此按钮放在自定义应用程序栏中,将应用程序栏插入自定义布局,并在管理员中使用该布局,如中所述。我明白了。通过查看回购协议中的许多问题,我们似乎希望能够配置自动刷新功能,以便更好地了解它的优先级。同时,我将使用SimpleForm而不是rff元素。。。它看起来像是一个内部的,似乎在告诉库,以避免自动刷新工作。感谢您为Francois项目所做的所有辛勤工作,使用它是一种乐趣;特别是有了新的TS支持!