reactjs Prop语法如何使用自定义组件Props,在另一个自定义组件内?

nsc4cvqm  于 2022-12-03  发布在  React
关注(0)|答案(1)|浏览(205)

希望我能正确地解释这一点。
我在React应用程序中有一个自定义按钮组件,此组件具有disabledsize等属性。然后,此自定义按钮组件将imported转换为模态组件。
有时候,在Modal组件中,我想访问Button组件中的props来修改每个Modal。例如,在一个Modal中,我可能想禁用一个按钮,但在其他Modal中,我不想。
因此,我在Modal中创建了一个名为buttonAddionalProps的prop,并使其保存ButtonProps的值(这写在typescript的types/props文件中)。
现在,回到Modal,我想将prop buttonAdditionalProps传递给我的Modal,但我不确定语法是什么。
示例:

<Modal
   id="123"
   primaryAction={handleClose}
   buttonAddionalProp= " What would this be? "
></Modal>

我所尝试的一切都不起作用,我所有的谷歌搜索都没有引导我走上正确的道路。

// 2 examples of things I tried to help show what I am trying to do

buttonAddionalProp = {Button={disabled = {true}}  -- fail 
buttonAddionalProp = {Button={disabled}}          -- fail
guicsvcw

guicsvcw1#

要将道具从Modal组件传递到Button组件,可以使用JSX中的spread运算符(...)。这会将其他道具传播到Button组件,从而允许您根据需要访问和修改它们。

<Modal
  id="123"
  primaryAction={handleClose}
  buttonAdditionalProps={{ ...ButtonProps, disabled: true }}
></Modal>

或者,您可以将按钮作为子按钮传递并直接修改:

<Modal
  id="123"
  primaryAction={handleClose}>
 <Button disabled />
</Modal>

然后,可以使用children属性在模态组件中呈现该对象。

相关问题