使用箭头功能绑定反应

时间:2020-08-22 09:02:27

标签: reactjs

新在那里。 我开始学习React,但遇到了代码问题-我无法弄清楚。 我试图在这里找到问题:

https://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Functions/Arrow_functions

我执行绑定-并将功能发送到另一个组件。

public static void main(String[] args) {
    String string = "cbacdcbc";
    string.chars()
            .mapToObj(item -> (char) item)
            .collect(Collectors.toSet()).forEach(System.out::print);

}
{this.state.array.map((char, index) => <CharComponent style={mystyle} character={char} click={(index) => this.deleteHandler(index)} key={index}></CharComponent>)}

我无法获取索引-它向我显示它是一个对象而不是数字。

我做了一个绑定-我将索引作为参数发送-然后在函数中调用了

为什么括号应该是空的? click = {((index)=> this.deleteHandler(index)

1 个答案:

答案 0 :(得分:1)

只需从click()的参数中删除索引,因为执行单击时它会为我们提供一个事件对象,而您实际上是在传递事件对象而不是索引。这就是为什么没有从map函数获取实际索引值的原因。

例如,请参见以下代码:

{this.state.array.map((char, index) => <CharComponent style={mystyle} character={char} click={() => this.deleteHandler(index)} key={index}></CharComponent>)}

对于您的问题,Why should the brackets be empty? 如上所述,当我们执行单击时,会返回一个JavaScript Event对象。