将ra-graphql-simple与react-admin

时间:2018-08-30 05:37:14

标签: apollo apollo-client react-admin

我的react-admin imp似乎能够连接到我用graphql插件启动并配置的stradi api,但是我收到一条错误消息,说我的客户端本质上不知道我的trapi集合之一:

  

未知资源“产品”。确保已在服务器端模式中声明了它。已知资源是

那是显示在闪存中的完整消息。没有实际的资源清单。

我的App.js如下:

class App extends Component {
  constructor() {
    super();
    this.state = { dataProvider: null };
  }
  componentDidMount() {
    buildGraphQLProvider({
      clientOptions: {
        uri: 'http://localhost:1337/graphql',
      },
    }).then(dataProvider => {
      this.setState({ dataProvider })
    }).catch((err) => {
      console.error(err);
    });
  }
  render() {
    const { dataProvider } = this.state;
    if (!dataProvider) {
      return <div>Loading</div>;
    }
    return (
      <Admin
        authProvider={authProvider}
        dataProvider={dataProvider}
        i18nProvider={i18nProvider}
        title="GridPlus"
        locale="en"
        customRoutes={[
            <Route
                exact
                path="/custom"
                component={CustomRouteNoLayout}
                noLayout
            />,
            <Route exact path="/custom2" component={CustomRouteLayout} />,
        ]}>
        <Resource name="products" {...products} />
    </Admin>
    );
  }
}

export default App;

有什么主意为什么管理客户端看不到我的产品集?

谢谢。

1 个答案:

答案 0 :(得分:1)

ra-data-graphql-simple在启动时会向您的graphql后端发送一个自省查询,以收集所有与它理解的gql方言匹配的资源。

方言是一种为每种资源命名查询和变异的方法。要检测到资源,您的架构必须具有documentation中定义的预期形状。

大多数时候,您必须使用ra-data-graphql来实现自己的方言。