Publié par admin dans
이 코드는 문서의 예제에서 가져온 것이며 약간 사용자 정의되었습니다. 위의 코드 조각의 문제는 스타일 시트 전체에서 규칙이 중복되어 바이트가 낭비된다는 것입니다. 대신, 새로운 페이스 북은 원자 스타일 시트를 생성합니다, 이는 각 규칙이 한 번만 정의된다는 것을 의미합니다. 여기에 예입니다 : 내가 Redux로 릴레이를 교체 쓴 이후 거의 2 년이되었습니다. 그 이후 릴레이는 구독, 빌드 시간 컴파일러, 합리적인 돌연변이 API 및 게임을 변화시키는 클라이언트 스키마를 추가했습니다. 그것은 나를 어색한 위치에 놓습니다. 한편으로는 자바스크립트 개발자들은 새로운 무언가가 오는 순간을 구식으로 기술 선언에 대한 나쁜 랩을 얻습니다. 하지만 다른 한편으로는, 멋진 새로운 기술! 그래서 그와 함께, Redux 밖으로 하 고 릴레이에. 난 심각해요.
웃음을 그만. 릴레이 조각을 변경하는 경우 릴레이 파일을 다시 생성해야 합니다. 대신_ __generated__ 폴더에 최적화된 메타파일을 생성하고 이러한 파일로 작업하고 있습니다. 어떤 파일이 재생성되고 있는지 확인하고 때로는 내부를 보고 읽는 것이 좋습니다. 결국 실제로 어떻게 작동하는지, 어떤 최적화가 실제로 수행되고 있는지에 대해 많은 것을 배울 수 있습니다. 또한 이 예제 프로젝트는 아티팩트에 단일 디렉터리를 사용하므로 생성된 모든 메타파일이 단일 __generated__ 디렉터리에 저장됩니다. 유동 유형을 부작용으로 향상시킵니다. 그리고 그와 같이, 당신은 감속기 상용구 지옥을 방지 할 수 있습니다, 로컬 API를 문서화하는 GraphQL을 사용하여, 무료로 코드 분할을 얻을, 응용 프로그램 수준에서 기억, 당신이 그들에게 도메인과 로컬 상태는 트루의 단일 소스를 공유 말할 때 모든 친구의 부러움이 될 일. 릴레이에 대한 다른 깔끔한 패턴이 있으세요? 내가 코멘트에 알려주세요.
릴레이의 원칙에 대한 자세한 내용은 릴레이에서 우리의 생각 가이드를 확인하십시오. 릴레이는 GraphQL 데이터를 가져오는 데 사용되는 자바스크립트 클라이언트입니다. 릴레이는 React 애플리케이션에서 데이터를 관리하고 가져오기 위해 Facebook에서 개발한 자바스크립트 프레임워크입니다. Facebook과 같은 복잡한 응용 프로그램에 전원을 공급하기 위해 확장성을 염두에 두고 구축되었습니다. GraphQL 및 릴레이의 궁극적인 목표는 즉각적인 UI 응답 상호 작용을 제공하는 것입니다. 처리기를 트리거합니다. 릴레이가 제공하는 비밀 __clientField 지시문이 있어 마법같은 일을 할 수 있습니다. 쿼리에 포함시켜 쿼리가 실행될 때마다 상태를 다시 계산할 수 있습니다. 이제 데이터 종속성을 선언하는 일부 구성 요소(일명 조각 컨테이너)가 있으므로 데이터가 실제로 가져오고 렌더링되도록 QueryRenderer에 연결해야 합니다. 조각 컨테이너는 데이터를 직접 가져오지 않습니다.
대신 컨테이너는 렌더링에 필요한 데이터의 사양을 선언하고 릴레이는 렌더링하기 전에 이 데이터를 사용할 수 있음을 보장합니다. 다음 단계는 릴레이 컴파일러를 구성하는 것입니다. 높은 수준에서 릴레이는 플럭스 아키텍처 패턴의 구현으로 생각할 수 있으며 GraphQL은 릴레이 내에서 플럭스가 작동하는 방식을 설명하는 인터페이스로 생각할 수 있습니다. 보다 실용적인 수준에서 릴레이의 가치는 구현의 용이성입니다. 예를 들어 Redux를 사용하면 저장소를 데이터로 채우기 위해 해야 할 많은 구현 작업이 있습니다.