当前位置: 首页 > 知识库问答 >
问题:

在React中如何将组件作为道具传递给道具?

上官凯泽
2023-03-14

我使用的是dev-express中的react-grid库,库中有一个表组件,我们可以向它传递单元格组件,在CustomCell中,我使用的是Material UI中的菜单

  <Table
        columnExtensions={tableColumnExtensions}
        cellComponent= {CustomCell}
  />

在上述情况下,菜单工作良好,

但是我想要传递道具到这个组件,我尝试了以下操作

 <Table
        columnExtensions={tableColumnExtensions}
        cellComponent= {(props)=><CustomCell {...props} someFunc={this.someFunc} />}
/>

在这种情况下菜单不工作,我想知道是否有一个替代的方法来实现第二种情况。

共有2个答案

池庆
2023-03-14

如果您周围的组件提供了道具,那么您可以如下所示:

class Foo extends React.Component {

  someFunc = () => {}

  render () {
    return <Table
      columnExtensions={tableColumnExtensions}
      cellComponent= {() => <CustomCell {...this.props} someFunc= 
        {this.someFunc} />}
      />
  } 
}
谷梁智
2023-03-14

您可以使用withprops:

const CustomCellWithSomeFunc = withProps({someFunc: this.someFunc.bind(this)})(CustomCell);

<Table
    columnExtensions={tableColumnExtensions}
    cellComponent= {CustomCellWithSomeFunc/>}
/>
 类似资料:
  • 我正在使用react语义ui模态对象。打开模态的对象是一个道具。 我想在另一个组件中嵌入模态: 如何传递JSX代码(

  • 问题内容: 可以说我有: 在Tabs组件内部,具有属性 儿童[0](this.props.children)看起来像 儿童[0]。道具看起来像 最终,Children对象看起来像(这是我想要传递的): 问题是这样,如果我这样重写MultiTab 在选项卡组件内部 看起来和上面一样。 好像 我希望该物业看起来像。上面只是打印出Statement函数。 这是一个很奇怪的问题,但是长话短说,我正在使用一

  • 问题内容: 我需要使用路由器将道具传递到组件。这是我的代码: 如您所见,isAuthenticated我想传递给Login组件的道具。 当我登录道具时, isAuthenticated 道具不存在。我做错了什么?如何正确通过道具?我关注了文档以及其他讨论。据我了解,它应该可以工作。的版本 做出反应路由器 和 反应路由器- DOM 是 4.0.0 问题答案: 像这样传递它: 它应该在“登录组件”中可

  • 也许有一种方法可以将组件绑定到事件? 在使用React一年多后,在Sebastien Lorber的回答的激励下,我得出结论,将子组件作为参数传递给父母中的函数实际上不是React的方式,也不是一个好主意。我换了答案。

  • 我有一个父组件,充当其子组件的包装器。如何将道具传递给将使用以下格式呈现的孩子?

  • 我是一个相当新的反应,这是一个我正在努力解决的问题。