Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 将Multiple类名作为道具传递_Css_Reactjs_Gatsby - Fatal编程技术网

Css 将Multiple类名作为道具传递

Css 将Multiple类名作为道具传递,css,reactjs,gatsby,Css,Reactjs,Gatsby,我有一个使用css模块作为样式化方法的模块化组件,比如component.js和component.module.scss。我想要实现的是使用className作为prop的组件 //component.js 从“React”导入React; 从“/grid.module.scss”导入样式; 常量网格=道具=>{ 回来 {props.children} } 导出默认网格; 问题是,如果props有多个类名,样式[props.test]就不起作用 比如说 //index.js 从“React”导

我有一个使用css模块作为样式化方法的模块化组件,比如component.js和component.module.scss。我想要实现的是使用className作为prop的组件

//component.js 从“React”导入React; 从“/grid.module.scss”导入样式; 常量网格=道具=>{ 回来 {props.children} } 导出默认网格; 问题是,如果props有多个类名,样式[props.test]就不起作用

比如说

//index.js 从“React”导入React; 从“./component”导入网格; //工作 Baz//输出为class=a-3ofml //不起作用 Baz//输出为class=未定义
如何使使用多个道具的代码具有价值?

看起来您可以这样做:

const Grid = (props) => {
    let cls = props.test.split(" ");
    let styleNames = "";
    cls.forEach(el => {
        styleNames = styleNames + Style[el] + " ";
    })
    return (
        <div className={styleNames}>
            {props.children}
        </div>
    )
}
return (
   <div className={
      props.test.split(' ').map(s => `${Style[s]}`).join(' ')
    }>
      {props.children}
   </div>
)

看起来您可以执行以下操作:

return (
   <div className={
      props.test.split(' ').map(s => `${Style[s]}`).join(' ')
    }>
      {props.children}
   </div>
)