Relay mutation expects data fetched by Relay

前端 未结 2 409
忘了有多久
忘了有多久 2020-12-31 06:39

I have two Relay mutations that I\'m nesting to first add an object then set its name. I believe what I\'m passing to the second mutation is in fact data fetched by Relay, b

相关标签:
2条回答
  • 2020-12-31 07:40

    I ran into the same problem and it took me some time to figure out what was going on, so this might help others:

    As the warning says, you have to provide an entity to the mutation that was fetched by Relay. BUT what the warning does not say is that it has to be fetched with the mutation in mind.

    So basically you have to add the mutation you are going to execute on it in the future in the initial query like this:

              fragment on Person {
                firstname,
                lastname,
                language,
                ${UpdatePersonMutation.getFragment('person')}
              }
    

    This will add the necessary pieces to the entity in the store which are needed by the mutation.

    In you case what you have to do is to add the FeatureLabelNameMutation getFragment to your AddCampaignFeatureLabelMutation query. This will bring back your featureLabel entity with the necessary information for the FeatureLabelNameMutation to succeed without warning.

    The Relay documentation is very very poor on this and many other areas.

    0 讨论(0)
  • 2020-12-31 07:42

    Relay expects any fragments for your mutation to come from your props. Since you're using data coming from your callback and not something from your container props Relay raises that warning.

    Take a look at the source: https://github.com/facebook/relay/blob/master/src/mutation/RelayMutation.js#L289-L307

    0 讨论(0)
提交回复
热议问题