getContext和withContext不起作用

时间:2017-03-04 23:19:39

标签: reactjs recompose

我一直试图将id传递给其他具有上下文的组件,但是我得到了未定义,在某个地方我犯了错误。 据我所知,我们应该将上下文作为道具。 任何想法?

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)

1 个答案:

答案 0 :(得分:2)

上下文只能通过传递道具而不是兄弟姐妹来从父母到孩子。

ComponentTwo成为ComponentOne的孩子。