내 응용 프로그램에서 redux 및 apollo 클라이언트를 사용하는 경우 구성 요소 외부의 동작에서 쿼리를 트리거하는 가장 좋은 방법은 무엇입니까?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 쿼리를 트리거 할 지 확신 할 수 없습니다.
방법이 있습니까? –
예, 대답의 예제 코드 에서처럼 apollo 클라이언트를 직접 사용할 수 있습니다. – MonkeyBonkey
다른 구성 요소 에서요? 'withApollo'? –