最初にオブジェクトを追加してからその名前を設定するためにネストしている 2 つの Relay ミューテーションがあります。私が 2 番目のミューテーションに渡しているのは、実際には Relay によってフェッチされたデータだと思いますが、私には同意できないようです。React ビューのコードは次のとおりです。
Relay.Store.update(
new AddCampaignFeatureLabelMutation({
campaign: this.props.campaign
}),
{
onSuccess: (data) => {
Relay.Store.update(
new FeatureLabelNameMutation({
featureLabel: data.addCampaignFeatureLabel.featureLabelEdge.node,
name: this.addLabelInputField.value
})
);
},
onFailure: () => {}
}
);
これは機能しますが、警告が表示されます。
Warning: RelayMutation: Expected prop `featureLabel` supplied to `FeatureLabelNameMutation` to be data fetched by Relay. This is likely an error unless you are purposely passing in mock data that conforms to the shape of this mutation's fragment.
Relayがデータがフェッチされていないと判断するのはなぜですか? どうにかしてペイロードで新しい featureLabel を明示的に返す必要があるのでしょうか?