比如我有如下高阶组件
import React, { Component } from 'react'
export default defaultCount => WrappedComponent => {
return class extends Component {
state = {
count: defaultCount || 0
}
add = this.add.bind(this)
add() {
this.setState(prevState => {
return {
count: prevState.count + 1
}
})
}
render() {
return <WrappedComponent count={this.state.count} onClick={this.add} />
}
}
}
使用:
import HocAdd from './HOCs/add'
import Count from './components/count'
const HocAddComponent = HocAdd(1)(Count)
class App extends Component {
render() {
return (
<div className="App">
<HocAddComponent />
</div>
)
}
}
export default App
比如说我想给加一个minus方法用来减count,但是并不是在HocAdd里加方法我要怎么写?
问题是这样,我在想如果我有一个视图组件,需要两个逻辑组件,也就是两个高阶组件。那这时候我要怎么给这个视图组件添加两个高阶组件的逻辑。
一开始我是想给HocAdd组件里面套一层HOC,那被嵌套的Hoc要怎么控制父级Hoc的count?
HocAdd(1)(Hoc(Count))
所以高阶组件的写法中,想要用多个逻辑组件要怎么合并