react 父组件如何向最底层的子组件传参,有没有直接的办法,不用一级一级的传下去

父组件要向底层的子组件传参,有么有办法,不用一级一级的传,没有使用readuX

阅读 1.9k
1 个回答

context了解一下

来一个示例:


const FahterContext = React.createContext({})

//顶层组件
class Father extends React.Component{
    render(){
        const value = {
            name : 'william',
            job : 'front-end engineer'
        }
        return (
            <FahterContext.Provider  value={value} >
                <Son/>
            </FahterContext.Provider >
        )
    }
}
//子组件
class Son extends React.Component{
    render(){
        return (
            <div>
                <Grandson/>
            </div>
        )
    }
}
//最深层组件
class Grandson extends React.Component{

    getProps(value){
        return (
            <div>
                name : {value.name}
                <br/>
                job : {value.job}
            </div>
        )

    }

    render(){
        return (
            <FahterContext.Consumer>
                { value => this.getProps(value) }
            </FahterContext.Consumer>
        )
    }
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题