Javascript 通过按钮';s';这';反应
为了给按钮添加一个函数,我们通常会这样做Javascript 通过按钮';s';这';反应,javascript,reactjs,Javascript,Reactjs,为了给按钮添加一个函数,我们通常会这样做 <button onClick={this.delete_this.bind(this)}>clickable</button> 我应该怎么做呢?首先,不要在渲染中使用bind,这对性能不好,而且在大多数情况下会失败shouldComponentUpdate。改为在类构造函数中执行 <button onClick={this.delete_this}>clickable</button> 首先,不要在r
<button onClick={this.delete_this.bind(this)}>clickable</button>
我应该怎么做呢?首先,不要在
渲染中使用bind
,这对性能不好,而且在大多数情况下会失败shouldComponentUpdate
。改为在类
构造函数
中执行
<button onClick={this.delete_this}>clickable</button>
首先,不要在render
中使用bind
,这对性能不好,在大多数情况下,它会失败shouldComponentUpdate
。改为在类
构造函数
中执行
<button onClick={this.delete_this}>clickable</button>
@AndrewLi好的,我会试试看,如果它这么简单的话,那么我可能是想得太多了>@AndrewLi我不认为它起作用了我的按钮是delete
,我正在运行delete\u this(value){console.log(value.value);}
,它在控制台中出现了未定义的问题。@AndrewLi所以我应该添加ref={(input)=>{this.textInput=input;}}
到按钮本身?因此类似于:{this.button=input}}>可点击的
?@Solo好的,这似乎可行。我会用filter试试。@AndrewLi好的,我会试试,如果它这么简单,那么我可能会想得太多了>@AndrewLi我认为它不起作用我的按钮是delete
,我正在运行delete\u这个(值){console.log(value.value);}
控制台中出现了未定义的内容。@AndrewLi所以我应该在按钮本身添加类似ref={(input)=>{this.textInput=input;}}}
?比如:{this.button=input}}>clickable
?@Solo好的,这似乎可行。我会用过滤器试试。你知道怎么用过滤器吗?我正在尝试this.buttons=this.buttons.filter((item)=>item!=e.target)代码>但它仍然有2个按钮(数组包含2个)。数组是由
组成的,如果你有固定数量的按钮(a'la不是动态的),看一看。它将是动态的,这就是为什么我想得到button对象,但它没有像我想象的那样工作。这也是Andrew给我的建议,但在我使用它时,它返回未定义。它确实应该返回筛选数组,但我将编写一个新问题,因为它与此问题并不相关。您知道如何将其与筛选器一起使用吗?我正在尝试this.buttons=this.buttons.filter((item)=>item!=e.target)代码>但它仍然有2个按钮(数组包含2个)。数组是由
组成的,如果你有固定数量的按钮(a'la不是动态的),看一看。它将是动态的,这就是为什么我想得到button对象,但它没有像我想象的那样工作。这也是Andrew给我的建议,但当我使用它时,它返回未定义。它确实应该返回过滤数组,但我将写一个新问题,因为它与这个问题没有真正的关系。
function delete_this(event) {
// event has all kinds of cool stuff, check it out
console.log(event)
// current React component (class)
console.log(this)
}