2016-08-23 3 views
0

제 질문은 : 아이들의 배열 배열에 REQUIRE_CHILDREN 설정이있는 곳에서 돌연변이 설정을하고 있습니다. 페이로드 객체에서 가능한 모든 필드를 얻으려면 어떻게해야합니까?릴레이 변이. FatQuery. REQUIRED_CHILDREN의 모든 입력란에 질문하십시오.

{ 
type: 'REQUIRED_CHILDREN', 
children: [ 
    Relay.QL` 
    fragment on MyPayload { 
    me { 
     id 
     ...others field 
    } 
    }`] 

그래서 내가 어떻게 me 개체에서 가능한 모든 필드를 요청할 수 있습니다? 내가 가리키는 경우 fragment on MePayload { me } 객체 릴레이는 여전히 me { id }을 반환합니다. 나는 릴레이가 모든 필드를 me 개체로 돌려 주길 원합니다. 감사.

답변

0

클라이언트 코드는 명시 적으로 가져올 모든 필드를 지정해야합니다. 그런 다음 해당 필드는 babel-relay-plugin 등으로 정적으로 유효성을 검사합니다.

REQUIRED_CHILDREN 중 하나를 사용하지 않으려 고합니다. 즉, 릴레이 저장소에 기록되지 및 컨테이너 릴레이에 접근 않습니다 때문에 돌연변이의 onSuccess 콜백에서 액세스 할 수 있으며 필드 ...

+0

것은 내가 요청을 보낼 것입니다를 가져에만 유용 내 서버와 일부 데이터를 다시 (중계를 통해) 얻을. 예를 들면 : 나는 친구 폼을 가지고 있고, 그것으로부터 초기 변수를 얻기위한 엔드 포인트를 가지고있다. 그래서 내 흐름입니다 : 나는 서버에 요청을 보내고 initialData 내 양식에 대한 그리고 그 데이터를 (내 구성 요소에 들어가기 위해) 파견해야합니다. 그렇다면 어떻게하면'const initialData = MyMytation(); '에서 전체 데이터를 얻을 수 있을까요? – Errorpro

+0

"endpoint"가 초기 데이터를 가져 오는 비 GraphQL 끝점을 의미하는 경우 원하는 정보를 얻을 수 있습니다 (insert-favorite-ajax-library-here). 그런 다음 폼에 해당 변수를 채우고 해당 변수를 사용자의 돌연변이 등에 제공하십시오. – NevilleS

+0

"끝점"을 사용하면 GraphQL 스키마에 "초안 양식 데이터"가 있음을 의미하는 경우 동일한 방법으로 해당 데이터를 가져올 수 있습니다. d Relay에서 다른 GraphQL 데이터 가져 오기 : 조각으로 컨테이너를 설정하고, 경로 아래에 컨테이너를 중첩합니다. – NevilleS