我有一个对象,我需要返回每个对象来检查它的映射结果。下面代码的问题就在这一行。
style: { ...map[settings] },我需要一个方法来通过每一个设置,并把它传递给地图。不知道如何在es6中实现这一最有效的方法?
--这是将设置传递给PassThrough组件的值
const settings = {
block_background: GradientGreen,
block_spacing: padding,
};这里是我的组件
const PassThrough = ({ children, settings }) => {
const map = {
GradientGreen: {
background: 'linear-gradient(-95deg, green, blue 100%)',
},
padding: '20px',
};
const cloneChild = () => {
return cloneElement(children, {
style: { ...map[settings] },
});
};
return (
<Fragment>
{cloneChild()}
<Fragment/>
);
};发布于 2019-01-24 21:16:57
最短的可能是:
inlineStyle: Object.assign({}, ...Object.entries(settings).map(([k, v]) => ({ [k]: map[v] })))但实际上,我会将settings改为:
const settings = original => {
block_background: original.GradientGreen,
block_spacing: original.padding,
};那就是:
inlineStlye: settings(map)https://stackoverflow.com/questions/54355373
复制相似问题