我的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;
有什么主意为什么管理客户端看不到我的产品集?
谢谢。
答案 0 :(得分:1)
ra-data-graphql-simple
在启动时会向您的graphql后端发送一个自省查询,以收集所有与它理解的gql方言匹配的资源。
方言是一种为每种资源命名查询和变异的方法。要检测到资源,您的架构必须具有documentation中定义的预期形状。
大多数时候,您必须使用ra-data-graphql
来实现自己的方言。