新在那里。 我开始学习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)
答案 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
对象。