2017-03-04 44 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的小孩。