2016-11-28 22 views
1

我在Relay.Renderer回調render有問題。Relay.Renderer渲染回調不暴露提取的數據

export const renderCallback = ({ done, error, retry, stale, props, element }) => { 

    console.log(props) 

    // if returning undefined, previously rendered view is rendered 
    return undefined 
} 

propsnull直到它獲取數據,當它終於不null,它包含獲取的數據。

舉例來說,如果它的節點查詢,登錄props.node如下:

node: { 
    __dataID__: "AH4zdDo1ODBjYVWkZTZmNzFgDSJmMTg1YQQ5Y2E=" 
    __fragments__: { 
     4::client: [ 
      0: { 
       postId: null 
      } 
     ] 
    } 
} 

組件其實有數據,但它並不Relay.Rendererrender回調揭露它。


這是正常的,以及如何訪問render回調中繼獲取的數據?

+0

你好,這是不正常的。我們錯過了實際創建容器的代碼,可以發佈它嗎? – whitep4nther

+0

你的意思是'Relay.createContainer'?我不使用'Relay.RootContainer' @ whitep4nther – Solo

+0

我的意思是'Renderer'是的,也是'createContainer'。事實上,你的代碼;) – whitep4nther

回答

0

您應該檢查Relay.Renderer的參數渲染

像這樣https://github.com/sibelius/ExNavRelay/blob/master/src/RelayUtils.js#L114

+0

我真的使用它,如果你看我的問題,像這樣:'render = {renderCallback}' – Solo

+0

渲染函數被稱爲多次,你需要呈現一個加載指標,直到中繼從服務器獲取道具 –

+1

是, 我對此很清楚。我的問題是,如果數據最終由中繼獲取,則它在'props'中的'render'函數中不可用。 – Solo