基本上,我有一个onClick功能,我做了一个按钮,我希望它的功能是,点击该按钮创建一个新的按钮。
我如何创建一个新的按钮,显示在屏幕上,但只有当原来的按钮已被点击?
我做的按钮:
<ARButton onClick={addRelay}>Add Relay</ARButton>
字符串
它调用的函数:
const addRelay = (e: React.MouseEvent<HTMLButtonElement>) => {
e.preventDefault();
// call backend addRelay
if (relayname !== '') {
console.log('Relay Name: ' + relayname);
setRelayName('');
// how to create a new button here?
}
};
型
4条答案
按热度按时间ni65a41a1#
这和你可能在组件中做的任何其他更改一样:你通过状态(你喜欢的任何类型的状态机制)来做。按钮设置状态,告诉你的组件它应该呈现新按钮。状态成员可以是一个简单的标志,或者如果你想创建多个按钮,可以是一个数组,等等。
下面是一个使用
useState
的简单示例,但如果您使用其他状态机制,则基本上是相同的:个字符
或者一个按钮数组:
的字符串
gab6jxml2#
你所需要的只是一个状态来管理是否显示新按钮的条件。最初状态的值是false(正如你所描述的,它应该只在点击后显示)。然后你只需要在点击按钮事件时改变状态。
下面是这样做的代码:
字符串
kd3sttzy3#
用按钮对象列表创建一个状态。每次单击按钮时,都向状态中添加一个按钮。
接下来,将按钮Map到按钮元素。
字符串
接下来你所要做的就是输出你原来的按钮,点击调用函数,为新按钮提供标题和点击动作!
qvtsj1bj4#
你可以创建一个像
displayCreatedButton
这样的状态,在你的条件下//如何在这里创建一个新的按钮?你可以setDisplayCreatedButton(true)
然后在组件中有条件地呈现它。
全样本
字符串