Open zhoujin4515 opened 3 years ago
如果我们需要写另外一个组件,只需要像上面那样,简单地继承一下 Component 类就好了:
class RedBlueButton extends Component {
constructor (props) {
super(props)
this.state = {
color: 'red'
}
}
onClick () {
this.setState({
color: 'blue'
})
}
render () {
return `
<div style='color: ${this.state.color};'>${this.state.color}</div>
`
}
}
const redBlueButton = new RedBlueButton()
mount(wrapper, redBlueButton)
react class 简单实现
我们的html结构
创建一个可复用的点赞按钮组件
创建一个点赞按钮的组件
上面这个方式创建的点赞组件只需要引入 niubiButton 类,生成一个实例,挂载到页面中就可以使用了,不需要手动操作dom,复用功能比较完善。但是有一个小问题,当需要创建一个新对象的时候,比如一个收藏按钮,我们需要再写一次setState方法。可以把它抽出来
抽象出 Component 类
创建 Component 类
2.挂载方法
3.继承Component类,创建一个点赞按钮组件
class LikeButton extends Component { constructor(props) { super(props) this.state = { isLiked: false } }
onClick() { this.setState( { isLiked: !this.state.isLiked } ) }
render() { return `
} }