9

アプリで redux と apollo クライアントを使用している場合、コンポーネント外のアクションからクエリをトリガーする最良の方法は何ですか?

たとえば、redux と apollo クライアントが構成された標準アプリがある場合、「更新」リストをトリガーするにはどうすればよいですか。gqlを持つコンポーネント自体で関数をトリガーできますが、フラックスに沿ったアクションからどのように実行しますか。

import React, { Component, PropTypes } from 'react';
import { graphql } from 'react-apollo';
import gql from 'graphql-tag';
import { connect } from 'react-redux';
import { refreshProfile } from './actions';

class Profile extends Component { ... }
Profile.propTypes = {
  data: PropTypes.shape({
    loading: PropTypes.bool.isRequired,
    user: PropTypes.object,
  }).isRequired,
};

const UserQuery = gql`
  query getUser {
    user {
      id
      name
    }
  }
`;

const ProfileWithData = graphql(UserQuery)(Profile); 
const ProfileWithDataAndState = connect(
 (state) => ({ user: state.user })),
 )(ProfileWithData);

そして、そのユーザー データを更新するアクションをトリガーしたいとしますか? ロジックはコンポーネント自体にあるため、アクション自体からその gql クエリをトリガーする方法がわかりません。

4

2 に答える 2