2017-03-04 107 views
3

我一直在試圖傳遞id到其他組件與上下文,但我得到未定義的地方,我犯了一個錯誤。根據我的理解,我們應該把上下文當作道具。 任何想法?getContext和withContext不起作用

import {compose,withContext} from 'recompose' 


const ComponentOne = ({id}) => { 
    console.log(id) // cizlory7iji600149711su9vj 
... 
} 

const Context = withContext(
{id:React.PropTypes.string}, 
(props) => ({id:props.id}) 
) 


export default compose(Context)(ComponentOne) 

SecondComponent.js

import {compose,getContext} from 'recompose' 

    const ComponentTwo = ({id}) => { 
     console.log(id) // undefined 
    ... 
    } 

    const GetContext = getContext(
     {id:React.PropTypes.string} 
    ) 


    export default compose(GetContext)(ComponentTwo) 
+0

ComponentTwo絕對是ComponentOne的孩子吧?也許發佈jsfiddle。 –

+0

謝謝,就是這樣,不知道我是如何錯過那個關鍵的部分... – Polisas

+0

Np,增加了一個答案。 –

回答

1

語境,只有把道具下來,沒有兄弟姐妹從父母工作的兒童。

品牌ComponentTwoComponentOne的小孩。