Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
User interface 反应管理页面未正确呈现_User Interface_React Admin - Fatal编程技术网

User interface 反应管理页面未正确呈现

User interface 反应管理页面未正确呈现,user-interface,react-admin,User Interface,React Admin,我不熟悉UI编码,并开始使用react admin来放置一些简单的页面。一切进展顺利,我们能够正确地托管页面。但是我们注意到了一些随机的问题,比如背景图像填满了整个屏幕,或者有时整个页面缩小到了汉堡包菜单。我已禁用registerServiceWorker以停止缓存中的页面。不确定这是否导致了奇怪的UI行为 我不知道你为什么会遇到这些问题,描述太笼统了,而且你似乎不知道问题可能是什么,可能是因为你对该地区还不熟悉。无论哪种方式,您出现的问题都可能与赋予页面风格的方式有关。但是React Admi

我不熟悉UI编码,并开始使用react admin来放置一些简单的页面。一切进展顺利,我们能够正确地托管页面。但是我们注意到了一些随机的问题,比如背景图像填满了整个屏幕,或者有时整个页面缩小到了汉堡包菜单。我已禁用registerServiceWorker以停止缓存中的页面。不确定这是否导致了奇怪的UI行为


我不知道你为什么会遇到这些问题,描述太笼统了,而且你似乎不知道问题可能是什么,可能是因为你对该地区还不熟悉。无论哪种方式,您出现的问题都可能与赋予页面风格的方式有关。但是React Admin不直接使用CSS,您可以这样使用它,但是对于更动态的页面样式,库使用一种称为应用样式的东西

为了产生React Admin,有许多库被一起使用,为了做一些有趣的事情,您应该了解最重要的库。我给你的建议是,因为你是新手,你假装使用React-Admin,首先使用React-Admin提供的组件,当你觉得使用这些组件很舒服,并且对框架的工作方式有一个大致的了解时,之后,开始实现您自己的组件,这些组件与React-Admin没有直接关系,但使用了一些相同的React-Admin库


另外,请检查您是否正在使用
组件创建React Admin应用程序,或者正在将React Admin嵌入另一个应用程序中,因为第二个应用程序更可能产生错误。

经过一些调试后,我想我已经找到了此问题的原因。我有一个自定义按钮来复制一行(基本上是在新id上发布一个创建和路由来编辑页面)。出于某种原因,该按钮的呈现似乎导致了此问题的不一致性。实际按钮工作正常,但会导致这种不一致的行为。下面是该按钮的代码。以下内容有什么问题吗

export default class DuplicateButton extends Component {

constructor(props) {
    super(props);
    this.handleClick = this.handleClick.bind(this);
    this.state = ({ redirect: false });
    var redirectPath = '';

}

handleClick = (props) => {
    var
        {
            push, record, resourceName
        } = this.props;
    let tempRecord = record;
    var result = '';
    console.log(this.props);
    var p = restDataProvider(CREATE, this.props.resource + "/" + tempRecord.id, { data: tempRecord }).then(resp => {
        result = resp.data;
        let routePath = '/' + this.props.resource + '/' + result.id;
        console.log(routePath);
        this.redirectPath = routePath;
        this.setState({ redirect: true });
        return result;
    });

}

render() {
    if (this.state.redirect) {
        console.log('Redirect to Edit page');
        return <Redirect push to={this.redirectPath} />;
    }

    return <Button variant="flat" color="primary" label="Duplicate Entry" onClick={this.handleClick}><DuplicateIcon /></Button>;
}
}
export default class duplicate按钮扩展组件{
建造师(道具){
超级(道具);
this.handleClick=this.handleClick.bind(this);
this.state=({redirect:false});
var重定向路径=“”;
}
handleClick=(道具)=>{
变量
{
推送、记录、资源名称
}=这是道具;
让tempRecord=记录;
var结果=“”;
console.log(this.props);
var p=restDataProvider(创建,this.props.resource+“/”+tempRecord.id,{data:tempRecord}){
结果=相应数据;
让routePath='/'+this.props.resource+'/'+result.id;
控制台日志(routePath);
this.redirectPath=routePath;
this.setState({redirect:true});
返回结果;
});
}
render(){
if(this.state.redirect){
log('重定向到编辑页面');
返回;
}
返回;
}
}

你好,马里奥。谢谢你的回复。我已经建立了我的应用程序的基础上提供的例子,我使用的组件,只是增加了一些基本的资源下。它也没有太大的复杂性。我只启用了示例中提供的主题,默认情况下使用这种颜色。主题是否存在已知问题?我不这么认为,但您可以找到当前和过去的bug,以及功能请求。我的建议是检查您的浏览器是否实现了所需的Javascript功能,是否至少与ES6兼容。检查NPM依赖项,看看您是否正在使用库所需的版本,我发现这很难做到,但我们永远不知道。最后,你可以试着从头开始一个新的应用程序,看看这是否不会给你带来问题,然后一步一步地检查你的应用程序是否有效。