更简洁的方式来编写这个 JSX?

时间:2021-01-19 14:10:19

标签: reactjs typescript

如果我有一些函数会被 SomeForm 的这两个函数调用,即 onGoClick 和 onNoGoClicked 都具有相同的函数调用,有没有办法让我把它整理得更清楚?或者这是可以接受的?

      <SomeForm
        onGoClick={() => {
          cleanupHere(props)
        }}
        onNoGoClicked={() => {
          cleanupHere(props)
        }}
      />

2 个答案:

答案 0 :(得分:2)

在不知道您使用它的上下文和 SomeForm 的实现的情况下,我无法提出太多建议。这并不理想,但由于 onGoClick 和 onNoGoClick 正在执行相同的函数,您可以将它们与这样的预定义函数结合起来:

const func = () => {
  cleanupHere(props)
}
// ...
return <SomeForm onGoClick={func} onNoGoClick={func} />

答案 1 :(得分:1)

如果你有这么多道具要传递,一种方法,

let someFormProps = {}; 
someFormProps.onGoClick = someFormProps.onNoGoClicked = cleanupHere(props);
<SomeForm {...someFormProps} />
相关问题