javascript - 同时解构和传入完整对象

标签 javascript reactjs ecmascript-6

我有一个简单的 React 组件:

const FullContainer = ({
  backgroundColor,
  children,
}) => (
  <Container
    backgroundColor={backgroundColor}
  >
    {children}
  </Container>
);

我目前正在破坏我希望我的组件使用的仅有的两个属性,但我也想传入 props 并将其传播:

const FullContainer = (props, {
  backgroundColor,
  children,
}) => (
  <Container
    backgroundColor={backgroundColor}
    {...props}
  >
    {children}
  </Container>
);

奇怪的是,这毫无错误地破坏了我的页面。我一定做错了什么。我的语法有误吗?

最佳答案

您可以使用 rest spread syntax提供剩余的属性,这些属性不会像

这样的数组被解构
const FullContainer = ({
  backgroundColor,
  children,
  ...props
}) => (
  <Container
    backgroundColor={backgroundColor}
    {...props}
  >
    {children}
  </Container>
);

关于javascript - 同时解构和传入完整对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52916422/

相关文章:

javascript - 使用 javascript 幻灯片淡入图像

javascript - 使用 react Hook 形式删除不受控制的 "ChipInput"中的标签

javascript - 有条件地激活 Material UI 工具提示?

javascript - 只能包含特定列表中的元素的数组的 typescript 类型

javascript - jQuery 选择最接近指定类的 tr

javascript - 将 SVG 字符串插入 Dom?

php - 高效存储数据

javascript - 如何使用最新的react版本(react18)?

javascript - vue.js 2.0 通信最佳实践

javascript - 如何延迟传递 props 直到 setState() 完成?