寫(xiě)了一個(gè)高階組件const fn=(Com)=>{ return class A extends Comonents{
state={
list
} return <Com {...this.props}/>
}
}
const NewCom = fn(Com);NewCom 如何操作修改 list
2 回答

有只小跳蛙
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
向子組件傳遞方法,然后在子組件里面調(diào)用該方法。
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 ( .... ) }

互換的青春
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
普通組件怎么操作,高階組件就怎么操作
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);
添加回答
舉報(bào)
0/150
提交
取消