Javascript 将道具传递给在对象中展开的函数

Javascript 将道具传递给在对象中展开的函数,javascript,reactjs,material-ui,styled-components,emotion,Javascript,Reactjs,Material Ui,Styled Components,Emotion,在React中工作时,我需要将道具从实例化组件传递到此处的mockFn。这是一个提取的示例,但它使用的是Material UI,我只是停留在概念/如何构造它上了一点,这样我就可以访问道具了 在下面的示例中,background部分允许我使用arrow函数访问道具,但是对于mockFn位,我需要内联传播结果,我无法将道具传递给它 我以为我可以做道具=>…mockFn(),但那不行 const mockFn=props=>({ 颜色:道具,颜色, //... }); const StyledSele

在React中工作时,我需要将道具从实例化组件传递到此处的
mockFn
。这是一个提取的示例,但它使用的是Material UI,我只是停留在概念/如何构造它上了一点,这样我就可以访问
道具了

在下面的示例中,
background
部分允许我使用arrow函数访问道具,但是对于
mockFn
位,我需要内联传播结果,我无法将道具传递给它

我以为我可以做道具=>…mockFn(),但那不行

const mockFn=props=>({
颜色:道具,颜色,
//...
});
const StyledSelect=with styles(
{
根目录:{
//很好
背景:props=>props.bgColor,
//如何将道具传递给这个mockFn?
…mockFn()
//不起作用
道具=>…模拟Fn(道具)
}
},
{}
)(选择);

关于

的完整示例我不知道材质ui,但我知道在样式化组件中这是有效的:

…(道具)=>mockFn(道具)

试一试,告诉我发生了什么事

我不知道材质ui,但我知道在样式化组件中这是有效的:

…(道具)=>mockFn(道具)

试试看,告诉我发生了什么事

你可以在规则级别(例如
root
)获得道具,而不是单个CSS属性

以下是您想要的语法:

const StyledSelect = withStyles({
  root: (props) => ({
    background: props.bgColor,
    ...mockFn(props)
  })
})(Select);

您可以在规则级别(例如
root
)获得道具,而不是单个CSS属性

以下是您想要的语法:

const StyledSelect = withStyles({
  root: (props) => ({
    background: props.bgColor,
    ...mockFn(props)
  })
})(Select);