新手问:自定义“ onChange”属性名和回调参数是否存在最佳实践?

时间:2019-05-27 09:50:03

标签: reactjs

当我编写自己的自定义组件时,我需要调用容器提供的道具之一,以表示该组件处理的值发生了变化。但是我有一个e代替了newValue事件。所以我想这样称呼它:

props.propname(newValue)

现在,propname是否有React约定/最佳实践?

对于DOM输入,onChange属性会被一个事件参数调用,该事件参数通常名为e。就像被这样调用一样:

props.onChange(e)

我应该:

  1. onChange以外的其他名称来调用prop,因为它与DOM元素的事件相比onChange事件具有不同的参数。之类的东西:props.onMyComponentChange(newValue)(或对该组件有意义的任何东西)。
  2. 使用相同的名称并致电:props.onChange(newValue)。最佳做法是将该道具称为onChange,但根据组件的不同,它可以采用不同的参数。
  3. 以某种方式创建一个e事件,并仍然调用onChange(e)(我没有在野外看到它)

我对npm react组件进行了快速检查,并看到了各种1.和2。在编写新的自定义组件时,是否有针对这种道具的最佳实践?

1 个答案:

答案 0 :(得分:2)

认为props与变量名没有什么不同...应该尽可能明确地使用它们...无论您使用的是classes还是hooks甚至是类,函数...变量是函数范围的,因此您不会有任何冲突...

但是,随着您的应用程序的增长,您到处都会有一堆onSubmitshandleSubmits,并且会花费大量时间来尝试找出哪个属于哪个组件/容器