React.js:将道具传递给道具?

时间:2017-05-05 00:00:19

标签: javascript arrays reactjs properties

我正在通过在线课程学习React,偶然发现了一个属性附加到另一个属性的情况:

this.props.onDelete(this.props.whichItem);

作为导师只是简单地解决了这行代码,我不得不对这种“连接”语法实际代表什么,即它在幕后引起的内容感到困惑。来自Vanilla JS,看起来property02被用作property01的参数,但这似乎太简单了。话虽如此,我完全理解剩下的代码。

为了提供一些上下文,我创建了这个代码集,其中我在上面引用的问题由{{1}}给出。

由于我找不到任何相关问题,我将非常感谢对此进行一些有见地的阐述。

3 个答案:

答案 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的组件中,property01MyComponent中的道具。

父组件的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

相关问题