我正在写一个relay.js应用程序,我正在使用react-relay-router进行路由.路由工作,但我相信它暴露了我如何跨不同视图组织查询片段的误解.
app.js中定义的路由
const rootComponent =
(<RelayRouter history={hashHistory}>
<Route path="/"
component={App}
queries={ViewerQueries}
onReadyStateChange={this.handleStateChange}
>
<IndexRoute
component={Dashboard}
queries={ViewerQueries}
/>
<Route
path="/org_setup"
component={OrgSetup}
queries={ViewerQueries}
/>
<Route
path="/admin/data_models"
component={DataModelList}
queries={ViewerQueries}
/>
</Route>
</RelayRouter>);
ReactDOM.render(rootComponent, mountNode);
Run Code Online (Sandbox Code Playgroud)
DataModelList.js中的查询片段声明
export default Relay.createContainer(DataModelList, {
fragments: {
viewer: () => Relay.QL`
fragment on User {
dataModels(first: 10) {
edges {
node {
id,
name,
isAuthority,
categories(first: 10) {
edges {
node {
id,
name,
tags(first: 10) {
edges {
node {
id,
code,
label,
} …Run Code Online (Sandbox Code Playgroud)