Incrementally modernize your Relay Classic app in these steps:
參考入門指南安裝最新版的 Relay。
開始讓你的 component 和 mutation 使用從 'react-relay/compat' 模組來的 Relay Modern API (createFragmentContainer, createRefetchContainer, createPaginationContainer, commitMutation)。從底層 component 往上進行會比較容易。這個轉換腳本應該能使這個步驟不會那麼繁瑣。
一旦所有的 component 和 mutation 都已經換成使用 Relay Modern API,就可以用 QueryRenderer 來取代 Relay.Renderer 和 Relay.RootContainer。大部分的情況你可以提供 'react-relay/classic' 的 Store 作為 environment。
一旦你的幾個或是全部的 view 都已經在使用 QueryRenderer,可以用 RelayModernEnvironment 取代 'react-relay/classic' 的 Store。請記住 RelayModernEnvironment and Store 不會共享任何資料。你可能會想要暫停在這個步驟直到有大量資料重疊的 view 可以同時被轉換過去。這步驟是解鎖應用程式效能優勢的關鍵。使用 RelayModernEnvironment 的應用程式就能送 persisted query ID 到伺服器來取代完整的 query 字串,以及其他更多的最佳化的資料正規化與處理。
把應用程式裡的 'react-relay/compat' 都換成 'react-relay'。這更是一個清理步驟,避免你的應用程式加進不需要的 'react-relay/classic' 程式碼。