Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在React中使用Redux存储和GraphQl进行查询_Reactjs_Graphql_Apollo - Fatal编程技术网

Reactjs 如何在React中使用Redux存储和GraphQl进行查询

Reactjs 如何在React中使用Redux存储和GraphQl进行查询,reactjs,graphql,apollo,Reactjs,Graphql,Apollo,我的GraphQl查询和变异调用有问题。我为应用程序构建了一个组件,如下所示 class ABC extends Component { componentDidMount(){ this.props.eventuser({ variables: { eventName: {id:this.props.activeEvent.cell.id} }, }).then(response => {

我的GraphQl查询和变异调用有问题。我为应用程序构建了一个组件,如下所示

class ABC extends Component {
   componentDidMount(){
      this.props.eventuser({
        variables: {
            eventName: {id:this.props.activeEvent.cell.id}

        },

    }).then(response => {
        //response ...
    }).catch(err =>{
        console.log('Error',err);
    });
   }
   render(){
     some render things
   }
}
function mapStateToProps(store) {
   return {
        activeEvent: store.activeEvent
   };
}
const Save= connect(mapStateToProps)(ABC);
export default compose(
graphql(Query1,
   name:"eventuser"
   }),
graphql(Query2,{
   name:"alluser"
   }),
graphql(Mutation1,{
   name:"updateEventdata"
   }))(Save);
查询需要activeEvent附带的ID。
我现在的问题是,GraphQl在activeEvent id出现之前就出现了(我想是的)

我不得不重新构建应用程序的这一部分进行重新蚀刻,react apollo的normal withApollo()函数没有类似的内容(或者我没有找到它)。
所以代码看起来有点混乱,因为它是旧代码和“新”代码的混合

如果有可能使用Apollo()重新蚀刻,我想继续。否则,我需要帮助为查询注入activeEvent的ID和Prop/State/Variable

其他信息:

  • 有一个redux商店,里面有ID和其他一些东西
  • 它是应用程序的一个组件,而不是完整的应用程序

    • 所以我找到了一种解决问题的方法。您需要通过父元素将ID作为道具传递。看起来像这样:
      App.js

      //调用事件,将eventID从Redux传递给子元素
      

      然后在子元素中,graphql导出如下所示:
      Eventoverview.js

      导出默认组合(

      连接(MapStateTops)

      ,图形ql(查询1,{

      选项:(道具)=>({变量:{
      事件名称:{id:props.eventName},}),
      名称:“eventuser”

      }),graphql(查询2{
      名称:“诱惑者”

      }),图ql(Mutation1{
      名称:“updateEventdata”

      (事件概述)


      现在在查询中使用了ID,我得到了答案,因此我找到了一种解决问题的方法。您需要通过父元素将ID作为道具传递。看起来像这样:
      App.js

      //调用事件,将eventID从Redux传递给子元素
      

      然后在子元素中,graphql导出如下所示:
      Eventoverview.js

      导出默认组合(

      连接(MapStateTops)

      ,图形ql(查询1,{

      选项:(道具)=>({变量:{
      事件名称:{id:props.eventName},}),
      名称:“eventuser”

      }),graphql(查询2{
      名称:“诱惑者”

      }),图ql(Mutation1{
      名称:“updateEventdata”

      (事件概述)


      现在在查询中使用了ID,我在您的还原程序中得到了我的答案

      ,请尝试为
      {activeEvent:{cell:{ID:'''''''}}}
      添加初始状态。这将阻止它在组件首次呈现时抛出。已经存在初始状态,问题不是它未找到或其他什么,问题是查询没有id,但它已被调度。分派在组件更改之前,所以通常它已经存在,但是die-graphql函数无法访问属性(我认为)。“connect()”在调用grapql()const Save=connect(mapstatetops)(ABC)之后;导出默认组合(“graphql bla”)(保存);在还原程序中,尝试为
      {activeEvent:{cell:{id:''''''}}
      添加初始状态。这将阻止它在组件首次呈现时抛出。已经存在初始状态,问题不是它未找到或其他什么,问题是查询没有id,但它已被调度。分派在组件更改之前,所以通常它已经存在,但是die-graphql函数无法访问属性(我认为)。“connect()”在调用grapql()const Save=connect(mapstatetops)(ABC)之后;导出默认组合(“graphql bla”)(保存);