我一直试图将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)
答案 0 :(得分:2)
上下文只能通过传递道具而不是兄弟姐妹来从父母到孩子。
让ComponentTwo
成为ComponentOne
的孩子。