ReactJS - 如何删除刚刚单击的按钮组件?
ReactJS - How does one delete a button component, that was just clicked?
我的目的是删除按钮,我刚刚点击了。我知道可能有很多方法,例如创建一个 deleteButton 组件,并适当地设置状态。
但是,我在主 App 组件中的 return 函数也会呈现另一个按钮(我可以做到),但我认为这可能会增加复杂性。
我目前正在努力寻找理想的解决方案,所以请帮忙。
好的,我已经设法解决了我的问题,尽管我确信还有其他方法。
进一步阐明...
单击 'Create' 按钮时,我有一个要呈现的表单。
同时,我希望删除 'Create' 按钮,一旦点击。
最终结果是只显示窗体并在return函数中嵌套一个新按钮。
1) 设置表单的初始状态为false:
this.state = {
displayForm: false,
}
2) 然后在 displayForm 函数中使用 setState 以允许在单击按钮后更改状态:
displayForm(){
this.setState({
displayForm: !this.state.displayForm {/* true */}
})
}
3) 在render函数内设置一个style对象,如:
render() {
const btnStyle = {
display: 'block',
} ...
4) 如果表单已经渲染,使用IF语句改变按钮的显示样式
if(this.state.displayForm){
btnStyle.display = 'none'
}
5) 现在,在 return 函数中,适当地使用您的 JSX 标签并调用函数 onClick,以及要应用的样式。
<Button
style={btnStyle}
onClick={() => {
this.displayForm()
}}>Create</button>
{this.state.displayForm && ([
<Form />,
<br />,
<Button>Add Schema</Button>,
])}
注意:
和组件已在此处导入并添加。
因此,单击 'Create' 按钮后,表单显示 (true),因此 'Create' 按钮从虚拟 DOM 中消失。我还按预期嵌套了另一个(新)按钮,位于表单下方。
我的目的是删除按钮,我刚刚点击了。我知道可能有很多方法,例如创建一个 deleteButton 组件,并适当地设置状态。
但是,我在主 App 组件中的 return 函数也会呈现另一个按钮(我可以做到),但我认为这可能会增加复杂性。
我目前正在努力寻找理想的解决方案,所以请帮忙。
好的,我已经设法解决了我的问题,尽管我确信还有其他方法。
进一步阐明...
单击 'Create' 按钮时,我有一个要呈现的表单。
同时,我希望删除 'Create' 按钮,一旦点击。
最终结果是只显示窗体并在return函数中嵌套一个新按钮。
1) 设置表单的初始状态为false:
this.state = {
displayForm: false,
}
2) 然后在 displayForm 函数中使用 setState 以允许在单击按钮后更改状态:
displayForm(){
this.setState({
displayForm: !this.state.displayForm {/* true */}
})
}
3) 在render函数内设置一个style对象,如:
render() {
const btnStyle = {
display: 'block',
} ...
4) 如果表单已经渲染,使用IF语句改变按钮的显示样式
if(this.state.displayForm){
btnStyle.display = 'none'
}
5) 现在,在 return 函数中,适当地使用您的 JSX 标签并调用函数 onClick,以及要应用的样式。
<Button
style={btnStyle}
onClick={() => {
this.displayForm()
}}>Create</button>
{this.state.displayForm && ([
<Form />,
<br />,
<Button>Add Schema</Button>,
])}
注意:
和组件已在此处导入并添加。因此,单击 'Create' 按钮后,表单显示 (true),因此 'Create' 按钮从虚拟 DOM 中消失。我还按预期嵌套了另一个(新)按钮,位于表单下方。