2017-10-15 35 views
0

我正在使用found-relay進行路由。Relay-Modern試圖更新已經卸載的組件`Relay(Songs)`

如果我不使用片段,只需在查詢中指定名稱,那麼它工作正常。

我在做什麼錯?

songsContainer.js:

import Songs from './component'; 

export const query = graphql` 
    query songsContainerQuery { 
    songs { 
     ...songsContainer_songs 
    } 
    } 
`; 

export default createFragmentContainer(Songs, graphql` 
    fragment songsContainer_songs on Song { 
    name 
    }`, 
); 

component.js:

const Songs = ({ songs }) => (
    <Audios 
    audios={songs} 
    > 
    <Song /> 
    </Audios> 
); 

export default Songs; 

routeConfig.js:

import Songs, { query as songsQuery } from '../../songs/songsContainer'; 

export default makeRouteConfig(
    <Route path="/"> 
    <Route Component={PrimaryLayout}> 
     <Route exact path="/" Component={Songs} query={songsQuery} /> 
    </Route> 
    </Route>, 
); 

回答

0

我們需要添加一個plural指令,或收到此錯誤:

graphql` 
    fragment songsContainer_songs on Song @relay(plural: true) { 
    name 
}` 

可怕的錯誤消息,我會爲可憐的錯誤消息中繼創建一個問題。