0
JS中的类仍然是一个函数。所以我的理解是,当我们创建Wrapped1时,它会将它与应用绑定在一起,因为它位于它内部,但显然Wrapped1有它自己的范围。我无法弄清楚我错在哪里。如何在React中的高阶组件中定义作用域?
let HigherOrderComp = (Component) => class extends React.Component{
construstor(props){
super(props);
this.state = {
count: 0
};
}
componentDidMount(){
setInterval(()=>{
this.setState(
count: this.state.count + 1
);
}, 1000)
}
render(){
return <Component {...this.props} {...this.state}>
}
}
class Comp1 extends React.Component{
render(){
return(
<div>
<p>Comp1</p>
{this.props.count}
</div>
);
}
}
let Wrapped1 = HigherOrderComp(Comp1);
class App extends React.Component{
constructor(props){
super(props);
}
render(){
return(
<div>
<Wrapped1/>
</div>
);
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
谢谢,通用React体系结构的内部组件不知道封闭组件还是来自Javascript? –