【问题标题】:ReactJS: adding my own props to another componentReactJS:将我自己的道具添加到另一个组件
【发布时间】:2016-03-13 17:14:27
【问题描述】:

是否可以(甚至是一个好主意)将我自己的 props 添加到另一个 React 组件中,例如:

<SomeCustomComponent myOwnParam={handler}>

【问题讨论】:

  • 可能,是的,但是如果您无法控制它,组件将不会使用您传递的自定义道具。
  • 您这样做是为了达到什么目的? SomeCustomComponent 应该与 myOwnParam 做什么?
  • 我正在尝试用我自己的功能来扩展它......也许我在想这样的事情? stackoverflow.com/questions/25720595/…

标签: javascript reactjs


【解决方案1】:

正如 Tyrsius 所说,这真的取决于SomeCustomComponent 的实现。如果组件没有在任何地方使用 myOwnParam 属性,则传递它不会完成任何事情。另一方面,一些 React 组件可能会使用 JSX 扩展属性来引用未在代码中直接枚举的 props。

例如,SomeCustomComponent 的以下实现会将您的 myOwnParam 属性传递给其子 div

class SomeCustomComponent extends React.Component {
  constructor(props) {
    super(props);
  }

  render() {
    var {customComponentProp, ...other } = this.props;
    return (
      <div customComponentProp={customComponentProp} {...other}></div>
    );
  }
}

同样,这取决于SomeCustomComponent的实现会发生什么。

有关详细信息,请参阅 Transfering Props 文档:https://facebook.github.io/react/docs/transferring-props.html

【讨论】:

    【解决方案2】:

    这不会导致错误,但除非SomeCustomComponent 正在寻找此道具,否则不会对其进行任何处理。 可能组件循环其道具,所以这个可能是一个可用的策略,但我不确定你会用它做什么。除了事先不知道的属性的迭代逻辑之外,您无法定义任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-26
      • 2020-07-14
      • 1970-01-01
      • 2020-01-26
      • 1970-01-01
      • 2020-04-28
      • 1970-01-01
      • 2019-04-14
      相关资源
      最近更新 更多