私はフォームを持っています。これは私のアプリの既存のリソースを編集するためのものです。 、あなたが見ることができるように、コンポーネントは、クエリからデータを読み込み、フォームにそれをロードし、フォームが送信されたときにgraphqlから約束を返すHOC
import {compose, graphql} from 'react-apollo';
// ...
const withData = compose(
graphql(FetchEditorData, {
props(p) {
preloadEditorData() => {
// this function is meant to return a promise with the desired data
// the documentation only explains what p.data contains (i.e. loading,
// data etc.)
},
},
},
graphql(CommitResourceEditMutation, {
props(p) {
onSubmit(editorState) => { /* ... */ },
},
);
export default withData(ResourceEditor);
:私は、次のようにgraphql
HOCに包まれリアクトコンポーネントを持っています突然変異が実行される。
データがロードされているときと変更が保存されているときの両方でローディングインジケータを表示する必要があります。従来の方法であるdocsの状態に従うと、loading
小道具とloading
状態キーを追加して両方を確認する必要があります。
代わりに、コンポーネントにpreloadEditorData
というプロパティを追加しました。これはPromise<EditorState>
を返すことを意味していますので、loading
というフラグを1つだけ持つことができます。 HOCから約束を返す方法はありますか?
あなたは私の質問を誤解していると思います。これの目的は2つの 'loading'フラグを持たないことです。私はそれがすでに私のために行われている気にしない。 – Victor