小编典典

将对象作为道具传递给jsx

reactjs

我有一个对象,其中包含多个通用键值道具,我想将它们传递给一些jsx。像这样:

const commonProps = {myProp1: 'prop1',myProp2: 'prop2'};
<MyJsx commonProps />

我希望这可以作为传递单个道具的功能:

<MyJsx myProp1={commonProps.myProp1} myProp2={commonProps.myProp2}/>

这可能吗?


阅读 263

收藏
2020-07-22

共1个答案

小编典典

这可能吗?

是的,为什么您认为不可能,但是发送方式不正确。

的含义<MyJsx commonProps />是:

<MyJsx commonProps={true} />

因此,如果您默认不指定任何值,它将采用true。要传递对象,您需要这样编写:

const commonProps = {myProp1: 'prop1',myProp2: 'prop2'};
<MyJsx commonProps={commonProps} />

更新:

如果您有一个对象,并且希望将所有属性作为单独的属性传递,则将其编写为:

<MyJsx {...commonProps} />
2020-07-22