【发布时间】:2022-02-09 18:01:25
【问题描述】:
当我单击按钮时,运行一个名为 AddWait 的函数,但它会向所有按钮添加等待文本。我尝试使用useRef,但事情变得一团糟。
图片;
我用 jquery 做了类似的事情;
for (let index = 0; index <= 10; index++) {
$("#app").append(`<span>Hello ${index} </span>
===><button class=click-me>button ${index} </button>
<br /><br />`);
}
$(".click-me").on("click", function (event) {
var $this = $(this);
console.log($this.text());
$this.text($this.text() + "hi");
//(... rest of your JS code)
});
<div id="app"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
可以查看react app;
那么我怎样才能改变只点击按钮的文字呢?
【问题讨论】:
-
您在每个按钮中都使用相同的 waitText 变量,因此,如果 waitText 值发生更改,那么它会反映在每个按钮中。
-
难怪
onClick你更改了与所有按钮共享的文本。当组件重新渲染时,所有按钮的文本都会更改。您需要调整代码以使用例如带有文本的数据结构并仅更改该按钮的文本。 -
您可以将跨度和按钮包装在 div 中,并将
key属性赋予 div 元素。
标签: javascript html reactjs