为了账号安全,请及时绑定邮箱和手机立即绑定

react高阶组件包裹的组件如何操作高阶组件内的state?

react高阶组件包裹的组件如何操作高阶组件内的state?

FFIVE 2018-09-08 11:28:02
写了一个高阶组件const fn=(Com)=>{    return class A extends Comonents{         state={             list         }        return <Com  {...this.props}/>     } } const NewCom = fn(Com);NewCom 如何操作修改 list
查看完整描述

2 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

向子组件传递方法,然后在子组件里面调用该方法。

const fn=(Com)=>{    return class A extends Component{
        state={
            list
        }
        handleList = () => {           // to do ...
           this.setState({
             list: ...
           })
        }        return <Com handleList={this.handleList} {...this.props}/>
    }
}

class Com extends Components {
    state = {}
    handleList = () => this.props.handleList()    
    return (
        ....
    )
}


查看完整回答
反对 回复 2018-09-09
?
互换的青春

TA贡献1797条经验 获得超6个赞

普通组件怎么操作,高阶组件就怎么操作

const fn=(Com)=>{    return class A extends Comonents{
        state={
            list
        }
        componentDidMount(){
            fetch('/XXX')
            .then(res=>{
                ...                this.setState({...});
            })
        }
        render(){            return <Com  {...this.props}/>
        }
    }
}

const NewCom = fn(Com);


查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 1702 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信