【发布时间】:2019-03-21 06:21:30
【问题描述】:
我仍在学习 React 的基础知识,我想做一些引起我注意的事情。这是关于渲染两件事。是否有可能或什至可能只是更改使用函数呈现的内容,然后使用按钮或计时器分别调用这些函数?
这是一个示例代码,展示了它如何渲染两个完全不同的东西。它应该呈现一个显示“状态:开启”或“状态:关闭”的按钮。当您单击按钮时,状态会发生变化。而且,整个渲染方法都被切换了......或者至少这是应该发生的事情。
class Flicker{
constructor(props){
super(props);
this.state = {mode: "on"};
}
flipOn(){
this.setState({mode: "on"})
}
flipOff(){
this.setState({mode: "off"})
}
if (this.state.mode == "on"){
render() {
return(
<button onClick={this.flipOn}>State: On</button>
);
}
} else if (this.state.mode == "off"){
render() {
return(
<button onClick={this.flipOff}>State: Off</button>
);
}
}
}
export default Flicker;
如果这不是对 jsx 在应用程序上呈现的内容进行此类更改的正确方法,应该如何进行?
【问题讨论】:
标签: javascript reactjs ecmascript-6 jsx