2017-09-15 6 views

답변

1

이제 가능합니다!

const defaultOptions = { 
    watchQuery: { 
    fetchPolicy: 'cache-and-network', 
    errorPolicy: 'all', 
    }, 
    query: { 
    fetchPolicy: 'cache-and-network', 
    errorPolicy: 'all', 
    }, 
    mutate: { 
    errorPolicy: 'all', 
    }, 
}; 

const client = new ApolloClient({ 
    link, 
    cache, 
    defaultOptions, 
}); 

참조 문서 : Setup and options

1

불행히도 클라이언트에 대한 기본 정책을 설정하는 방법이 문서화되어 있지 않다고 생각합니다. 실제로 최근에 약 making the default configurable에 대한 대화가있었습니다.

그러나 당분간 graphql 컨테이너에 대한 간단한 래퍼를 만들어 동일한 결과를 얻을 수 있습니다. 이런 식으로 뭔가 작업을해야합니다 :

const DEFAULT_FETCH_POLICY = 'network-only' 

export const graphqlWrapper = (query, config = {}) => { 
    if (!config.options) config.options = {} 
    if (config.options instanceof Function) { 
    const optionsFn = config.options 
    config.options = (props) => { 
     const options = optionsFn.apply(optionsFn, [props]) 
     options.fetchPolicy = options.fetchPolicy || DEFAULT_FETCH_POLICY 
     return options 
    } 
    } else { 
    config.options.fetchPolicy = config.options.fetchPolicy || DEFAULT_FETCH_POLICY 
    } 

    return graphql(query, config) 
} 

은 그럼 그냥 래퍼 대신 graphql 컨테이너를 가져옵니다. 또한 필요한 경우 개별 쿼리에 대해 설정 한 기본값을 재정의 할 수 있습니다.