我正在通过在线课程学习React,偶然发现了一个属性附加到另一个属性的情况:
this.props.onDelete(this.props.whichItem);
作为导师只是简单地解决了这行代码,我不得不对这种“连接”语法实际代表什么,即它在幕后引起的内容感到困惑。来自Vanilla JS,看起来property02被用作property01的参数,但这似乎太简单了。话虽如此,我完全理解剩下的代码。
为了提供一些上下文,我创建了这个代码集,其中我在上面引用的问题由{{1}}给出。
由于我找不到任何相关问题,我将非常感谢对此进行一些有见地的阐述。
答案 0 :(得分:2)
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
的属性。
答案 1 :(得分:1)
来自Vanilla JS,看起来property02被用作property01的参数
就是这样,你是对的。
this.props.property01(this.props.property02)
property01是一个方法,property02,参数。
对于其他任何看过这个的人都有一个更详细的解释:
假设此行位于名为MyComponent
的组件中,property01
是MyComponent
中的道具。
父组件的render()方法将包含如下内容:
<MyComponent property01={this.someMethod.bind(this)} />
someMethod
属于该父组件,但property01
(子组件)中的MyComponent
可用。{/ p>
答案 2 :(得分:0)
如果您能理解基本的反应代码,这个问题将对您有所帮助,因为在该代码中我将props和状态从父组件传递给子组件。你可以玩它尝试做你想做的任何事情。
How to pass state from parent compont to child component in route (react-route-dom) reactjs