Javascript 如何在React中发送props中的双参数函数?
我有一个函数,它在前面接受了两个参数,它过去只接受一个参数,所以在props中传递它,如下所示:-Javascript 如何在React中发送props中的双参数函数?,javascript,reactjs,Javascript,Reactjs,我有一个函数,它在前面接受了两个参数,它过去只接受一个参数,所以在props中传递它,如下所示:- mixed1.map((cat1) => (<ServicesCategoryOption category1={cat1.categories} setacatid={i=>this.setacatid(i)}/>)) 因此需要两个参数a和b如何现在在props中传递它?当您使用箭头函数语法时,可以将多个参数传递给事件处理程序,如 mixed1.map((cat1) =
mixed1.map((cat1) => (<ServicesCategoryOption category1={cat1.categories} setacatid={i=>this.setacatid(i)}/>))
因此需要两个参数a和b如何现在在props中传递它?当您使用箭头函数语法时,可以将多个参数传递给事件处理程序,如
mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={(a, b)=>this.setacatid(a, b)}
/>
))
mixed1.map((cat1)=>(
this.setacatid(a,b)}
/>
))
或者你可以简单地写
mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={(...args)=>this.setacatid(...args)}
/>
))
mixed1.map((cat1)=>(
this.setacatid(…args)}
/>
))
可以简单地写为
mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={this.setacatid}
/>
))
mixed1.map((cat1)=>(
))
使用第一种方法的唯一优点是,您也可以像这样传递自定义值
mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={(...args)=>this.setacatid(1, ...args)}
/>
))
mixed1.map((cat1)=>(
this.setacatid(1,…args)}
/>
))
通过这种方式,您可以从child传递多个参数并在函数中接收它们,而无需担心每次添加新参数时都会添加一个参数您可以做任何您想做的事情:
this.setacatid(i,10)}
/>
这个.setacatid(i,j)}
/>
表达式setacatid={(…args)=>this.setacatid(…args)}
与setacatid={this.setacatid}
完全相同,但第二个表达式很短且资源密集度较低。@oklas,是的,如果您希望传递自定义参数以及函数接收的参数,那么使用…args的唯一好处就是。
mixed1.map((cat1) => (
<ServicesCategoryOption
category1={cat1.categories}
setacatid={(...args)=>this.setacatid(1, ...args)}
/>
))