我目前的设置如下:
httpClient.js:
link
restClient.js
import { fetchUtils } from 'admin-on-rest'
const HttpClient = (url, options = {}) => {
if (!options.headers) {
options.headers = new Headers({ Accept: 'application/json' })
}
// ...handle authorization and set some header
return fetchUtils.fetchJson(url, options)
}
export default HttpClient
...所以我在那个部门非常基础。
我现在拥有的是一些 路线 ,如下所示:
import { jsonServerRestClient } from 'admin-on-rest'
import HttpClient from './httpClient.js'
export default jsonServerRestClient('', HttpClient)
......这一切都很标准,并且工作正常。
我的问题 现在是我有另一条路由<Route exact path="/stream" render={(routeProps) => <StreamList hasCreate resource="stream" {...routeProps} />} />,
<Route exact path="/stream/create" render={(routeProps) => <StreamCreate resource="stream" {...routeProps} />} />,
<Route exact path="/stream/:id" render={(routeProps) => <StreamEdit hasDelete resource="stream" {...routeProps} />} />,
<Route exact path="/stream/:id/delete" render={(routeProps) => <Delete resource="stream" {...routeProps} />} />,
<Route exact path="/stream/query/:id" component={StreamQueryEdit} />,
,我希望在其中有一条资源的嵌套路由。路由如下所示:
/config/what
在<Route exact path="/config/how/antonym" render={(routeProps) => <AntonymList hasCreate resource="antonym" {...routeProps} />} />
<Route exact path="/config/how/antonym/create" render={(routeProps) => <AntonymCreate resource="antonym" {...routeProps} />} />
<Route exact path="/config/how/antonym/:id" render={(routeProps) => <AntonymEdit resource="antonym" {...routeProps} />} />
<Route exact path="/config/how/antonym/:id/delete" render={(routeProps) => <Delete resource="antonym" {...routeProps} />} />
内,这些嵌套路由的呈现方式如下:
/config/how/
列表,编辑和删除路由所有工作都像预期的那样。唯一的问题是,一旦我导航到Create-Route,我就会从服务器收到500错误。
事实证明,在进行一些调查之后,框架不会将此路由识别为创建路由,而是将其视为if (this.props.children) {
return this.props.children
}
请求id为&#34;创建&#34;。
这表明由于某种原因,admin-on-rest将此请求视为GET请求。这也会导致代码通过GET
(而不是&#34;创建&#34;?)我真的不确定原因。
我试图找到设置Edit.js
参数的位置,以查看可能导致此行为的原因......但到目前为止还没有运气。
在这些情况下,列表和编辑路线都能正常工作,这一点特别奇怪。它只是创造路线...
答案 0 :(得分:0)
确保您的AntonymCreate组件具有如下形式:
export const AntonymCreate = (props) => (
<Create {...props} title="Create">
...
</Create>
);
这可能是它不起作用的原因。