向已经具有参数的功能道具添加参数

时间:2018-11-06 18:41:07

标签: javascript reactjs ecmascript-6

我不知道这是否可行,但这是我要完成的工作的一个不可行/天真的例子:

const myFunction = ({ alpha, beta }) => {
  console.log(alpha)
  console.log(beta)
}

const Parent = () => 
  <div>
    <div>Some content...</div>
    <Child handleClick={() => myFunction({ alpha: 1 })}  />
  </div>

const Child = ({ handleClick }) => 
  <button onClick={ () => handleClick({ beta: 2 })}>Click me</button>

说明:
-我指的是函数myFunction,它作为带有参数的prop发送。
-最终在触发后,应在传递的函数的

中添加第二个参数

运行上述示例代码时,myFunction仅接收alpha参数。

CodeSandbox上的示例

1 个答案:

答案 0 :(得分:2)

您可以创建一个新对象,该对象是从Child组件传入的对象的副本,并向其中添加a属性,并将其作为参数传递给myFunction

<Child handleClick={(data) => myFunction({ ...data, alpha: 1 })} />