Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何禁用react admin的自动刷新功能_Javascript_Reactjs_React Admin - Fatal编程技术网

Javascript 如何禁用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

因此react admin似乎有一个功能,如果您空闲一段时间后返回,它将重新加载数据,大概是为了确保您查看的是最新版本的记录


这导致具有一些自定义组件的“我的编辑”功能出现一些问题。有没有办法禁用此自动重新加载功能?

自动刷新由加载指示器(应用程序栏右上角的微调器图标)触发

您可以通过自己替换加载指示器来禁用自动刷新

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支持!