我正在通过在线课程学习React,并且偶然发现了一个属性与另一个属性相连的情况,例如:
this.props.property01(this.props.property02)
看到导师只是简短地解决了这一行代码,我不能不对这种“串联”语法的实际含义(即它在幕后造成的后果)感到困惑.来自Vanilla JS,看起来property02被用作property01的参数,但这似乎太简单了.话虽如此,我对剩余的代码非常了解.
为了提供一些上下文,我创建了该Codepen,其中上面提到的问题由this.props.onDelete(this.props.whichItem);给出.
看到我找不到任何相关问题,我将不胜感激.
解决方法:
React组件的属性可以是函数.当我看见:
this.props.property01(this.props.property02)
我觉得:
> this.props.property01是一个函数.
> this.props.property02作为参数传递给函数.
这意味着该组件将用作:
<SomeComponent property01={(a) => { /* so something with "a" ... */ } property02={"someValue"} />
如果property02仅用于传递给property01,而没有别的,那么我会喜欢:
<SomeComponent property01={(a) => { /* do something with "someValue" ... */ } />
这意味着不需要名为poperty02的属性.