gpt4 book ai didi

javascript - 如何在 React 中的 props 中发送两个参数函数?

转载 作者:行者123 更新时间:2023-12-03 01:36:09 26 4
gpt4 key购买 nike

我有一个函数,它接受两个参数,之前它只接受一个参数,因此将其传递到 props 中,如下所示:-

mixed1.map((cat1) => (<ServicesCategoryOption category1={cat1.categories} setacatid={i=>this.setacatid(i)}/>))

但现在我将 setacatid 更改为:-

setacatid(a,b){
console.log(b);
this.setState({
catidofclicked:a,
catnameofclicked:b
},function(){
localStorage.setItem('selecteditem',this.state.catidofclicked);
localStorage.setItem('selectedname',this.state.catnameofclicked);
});
}

那么现在需要两个参数 a 和 b 如何在 props 中传递它?

最佳答案

当您使用箭头函数语法时,可以将多个参数传递给事件处理程序

mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={(a, b)=>this.setacatid(a, b)}
/>
))

或者你可以简单地写

mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={(...args)=>this.setacatid(...args)}
/>
))

可以简单地写为

mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={this.setacatid}
/>
))

使用第一种方法的唯一优点是您也可以传递自定义值,例如

mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={(...args)=>this.setacatid(1, ...args)}
/>
))

通过这种方式,您可以从子级传递许多参数并在函数中接收它们,而不必担心每次要添加新参数时都添加参数

关于javascript - 如何在 React 中的 props 中发送两个参数函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51060798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com