gpt4 book ai didi

javascript - Relay 中的嵌套片段数据始终相同

转载 作者:行者123 更新时间:2023-11-29 15:29:23 24 4
gpt4 key购买 nike

我是 Relay 的新手,我遇到了片段上嵌套数据的问题。

当我在 graphiql 中测试时,以下查询返回正确的数据,因此我确信我的模式是正确的。

 {
viewer {
customers {
name
billing_address {
city
}
}
}
}

但是,当我将上述查询与 Relay 一起使用时,customer.name 将是正确的,但 customer.billing_address.city 对每个客户都是相同的。我很困惑为什么有些数据是正确的,而嵌套数据只是被复制了。

对于解决此问题的任何帮助,我将不胜感激,如果需要更多信息,我将很乐意添加。以下是我项目中目前唯一的中继代码,我认为可能是问题所在。

class App extends Component {
render() {
console.log(this.props.viewer.customers);
return (
<div>
{this.props.viewer.customers.map((customer) => (
<div>
<div>{customer.name}</div>
<div>{customer.billing_address.city}</div>
</div>
))}
</div>
);
}
}

class AppHomeRoute extends Relay.Route {
static queries = {
viewer: () => Relay.QL`
query {
viewer
}
`,
};
static routeName = 'AppHomeRoute';
}

const AppContainer = Relay.createContainer(App, {
fragments: {
viewer: () => Relay.QL`
fragment on Viewer {
customers{
name
billing_address{
city
}
}
}`
},
});

ReactDOM.render(
<Relay.RootContainer
Component={AppContainer}
route={new AppHomeRoute()}
/>,
document.getElementById('root')
);

最佳答案

一个可能的问题可能是您如何解析 GraphQL 架构中的 billing_address。您是否在 billing_address GraphQL 类型中包含了 field :id, !types.IDglobalIdField?发布您的 GraphQL 架构也可能有所帮助。

关于javascript - Relay 中的嵌套片段数据始终相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36224649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com