javascript - 使用 React 和样式组件在 Laravel 中的 const 定义冲突
问题描述
我不知道如何在 Laravel 中结合使用样式组件和 React。当我尝试定义样式时,它的名称与我要设置样式的 React 组件的导入表单冲突:
import ReactDOM from 'react-dom';
require('./BlogBody.css')
import BlogCard from './BlogCard';
import styled from 'styled-components';
let BlogCard = styled.div`
width: 413px;
height: 380px;
z-index: 10;
background: linear-gradient(180deg, ${props => props.color.COLOR1} 0%, ${props => props.color.COLOR2} 100%);
border-radius: 30px;
`;
class BlogBody extends Component {
render() {
let colorsArray = {
PURPLE: {
COLOR1 : "#CC4DA1",
COLOR2 : "#8C13B8"
},
RED: {
COLOR1 : "#C9522C",
COLOR2 : "#8B0B0B"
},
BLUE: {
COLOR1 : "#2598EC",
COLOR2 : "#133FB8"
},
GREEN: {
COLOR1 : "#1BC618",
COLOR2 : "#7C992B"
}
};
function colorCalculator(index) {
let colorIndex = (index+1)%4
switch (colorIndex) {
case 1: return colorsArray.PURPLE;
case 2: return colorsArray.RED;
case 3: return colorsArray.BLUE;
default: return colorsArray.GREEN;
}
}
let articlesObject = JSON.parse(this.props.articles);
return (
<div className="blogBody">
{ articlesObject.map((article, index) => (
<BlogCard
key = {index}
title = {article.title}
slug = { article.slug }
// text = {article.body}
createdAt = { article.created_at }
color = { colorCalculator(index) }
/>
)
)}
</div>
);
}
}
export default BlogBody;
此代码抛出:
BlogCard.js: Identifier 'BlogCard' has already been declared (16:6)
这是因为组件和样式都必须具有相同的常量名称。
任何建议将不胜感激。
谢谢
解决方案
您正在BlogCard
第 3 行导入,并且还创建了一个名为BlogCard
. 只需更改其中任何一个的名称,它就会修复错误
我不确定为什么你需要两者,但如果目标是重新设置导入BlogCard
的样式,那么将你的样式组件更改为 -const StyledBlogCard = styled(BlogCard)...
推荐阅读
- meteor - 在流星中拖放
- rest - SharePoint 在线创建具有特殊字符文件名的上传会话
- excel - 在excel公式中多次重用函数输出
- angular - 角度如何处理ng-content中的事件
- laravel - Laravel Crinsane/LaravelShoppingcart associate() 不起作用
- java - 如何从自定义适配器类关闭导航抽屉
- java - 除非重新启动,否则我的应用不会创建新文件
- c++ - C++/CLI 包装器不能使用来自本机 C++ dll 的向量
- javascript - 使用 vue 和 laravel 导入 Excel
- spring - 依次获取ParallelStream().parallel()数据