将以下代码转换为无状态组件的正确方法是什么?无状态组件切换布尔值
export default class About extends Component {
state = {
showKitten: false
}
handleToggleKitten =() => this.setState({ showKitten: !this.state.showKitten });
render() {
const { showKitten } = this.state;
const kitten = require('./kitten.jpg');
return (
<div className="container">
{showKitten && <div><img src={kitten} alt="kitchen" /></div>}
</div>
);
}
}
管理定义的道具等下面的代码工作记录消息。但是,什么是切换布尔值的最佳方式?
const handleToggleKitten =() => {
console.log('Hello from here');
**// How to toggle the value of boolean here?**
};
const About = (props) => {
const { showKitten } = props;
const kitten = require('./kitten.jpg');
return (
<div className="container">
{showKitten && <div><img src={kitten} alt="kitchen" /></div>}
</div>
);
};
About.defaultProps = {
showKitten: false
};
About.propTypes = {
showKitten: PropTypes.bool.isRequired
};
如何调用'handleToggleKitten'?我没有看到任何需要这种方法。同时移除对所需属性没有意义的'defaultProps'。 – Sulthan
错过了该部分,通过按钮onClick像下面的代码。 –