【问题标题】:Cannot read property 'name' of null (react-admin)无法读取 null 的属性“名称”(react-admin)
【发布时间】:2020-02-06 06:03:31
【问题描述】:

我有最简单的代码可以检查react-admin

import React, { Component } from "react";
import buildGraphQLProvider from "ra-data-graphql-simple";
import { Admin, Resource } from "react-admin";
import posts from "./routes/posts";

class App extends Component {
  constructor() {
    super();
    this.state = { dataProvider: null };
  }
  componentDidMount() {
    buildGraphQLProvider({
      clientOptions: { uri: "https://countries.trevorblades.com" }
    })
      .then(dataProvider => this.setState({ dataProvider }))
      .catch(e => console.log(e.message));
  }

  render() {
    const { dataProvider } = this.state;

    if (!dataProvider) {
      return <div>Loading</div>;
    }

    return (
      <Admin dataProvider={dataProvider}>
        <Resource name="posts" {...posts} />
      </Admin>
    );

    //or, directly return <Admin dataProvider={dataProvider} />

  }
}

export default App;

但我总是在控制台中遇到同样的错误:Cannot read property 'name' of null

我的依赖是:

    "graphql": "14.6.0",
    "graphql-tag": "2.10.1",
    "ra-core": "3.1.4",
    "ra-data-graphql-simple": "3.1.4",
    "react": "16.12.0",
    "react-admin": "3.2.0",
    "react-apollo": "3.1.3",
    "react-dom": "16.12.0",
    "react-scripts": "3.0.1"

我做错了什么??

【问题讨论】:

  • 我也有同样的问题

标签: react-admin


【解决方案1】:

我遇到了同样的问题。

问题是我在我的 graphql 架构中缺少 Mutation 类型,因此检查

type.name !== schema.mutationType.name

抛出错误,因为 schema.mutationType 未定义

确保您的架构中有 Mutation 类型,即使它是空的也是如此

【讨论】:

    【解决方案2】:

    也许你想写?

    <Resource name="posts" />
    

    您阅读过文档吗?

    https://marmelab.com/react-admin/Resource.html

    【讨论】:

    • 我已阅读文档数千次。错误与您的代码相同。好像是在dataProvider创建过程中产生的,不知道为什么。
    • 好的,现在您已经更正了语法错误。也许你应该试试这个教程:marmelab.com/react-admin/Tutorial.html你的“./routes/posts”内容是什么?
    猜你喜欢
    • 2020-08-31
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2019-11-21
    相关资源
    最近更新 更多