我正在使用Relay Modern构建应用程序,这是我第一次真正涉足React,Relay和GraphQL。
基本情况是,我有一个不需要任何数据的登录表单组件;也就是说,组件呈现一个表单,并且具有相应的变异,但不需要查询任何内容。
在调用createFragmentContainer
时,似乎提供Relay样式查询片段是必要的,这反过来又确保this.props.relay
在组件的上下文中不会是null
。< / p>
现在,我正在为登录表单使用标准(非中继)React组件,但结果我无法访问Relay环境将其传递给突变。
我的问题 - 有没有办法基本上传递一个“空”的Relay片段?或者在这种情况下是否有更好的成语?
答案 0 :(得分:2)
您实际上只是使用普通组件,然后创建一个带有变异的变异文件。运行中继编译器为变异创建graphql片段,然后调用表单submit中的变异。突变确实需要您的环境。这是接力现代文档:
https://facebook.github.io/relay/docs/mutations.html
您需要在某处存储变异的结果,然后将auth令牌附加到您的下一个请求中,但这不是非常难以做到的。只需onCompleted并将结果存储在某处。
您的环境应该是您为突变和查询呈现导入的单独文件。只有paginationContainer从queryRenderer继承encironment。