【发布时间】:2017-07-27 12:00:59
【问题描述】:
我想创建一个包含按钮的非常简单的应用程序。当我单击它时,它应该更改它的名称并且应该将它的状态更改为:isDisabled:true。我通过编写内联按钮、给它一个 OnClick 等等来实现这一点,但是我想尝试使用具有相同功能的无状态组件来实现这一点,但是我完全被卡住了。
import React, { Component } from 'react';
import './App.css';
class App extends Component{
constructor(){
super()
this.state = {name:'Hey buddy click me',
isDisabled:false,
}
}
render() {
return (
<div>
<MyButton handleClick={this.handleClick.bind(this)}></MyButton>
</div>
)
}
handleClick = () => {
this.setState ({
name:'Dont click!',
isDisabled:true,
});
}
}
const MyButton = (name, isDisabled) => <button onClick={this.handleClick.bind(this)}>{name}</button>
export default App;
【问题讨论】:
-
我们可以有一个工作的,最小的例子吗?
-
您正在调用
Button组件中的句柄单击,但尚未传递给您的按钮组件。所以在按钮组件中将无法访问handleClick。