Javascript 使用样式化组件分发React UI库
我是一名初级开发人员,刚开始在一家公司工作 我有一点反应方面的经验,无法解决当前的情况 我遇到的问题是,当我从npm中分发的库导入时,我的React项目无法识别样式化组件 我在我的项目中遇到了这个错误。 我已经研究并意识到巴别塔需要更多的选择,比如使用 “babel插件样式组件”选项 不幸的是,在使用该命令并随命令一起分发后,这项功能不起作用 纱线构建==网页包--生产模式 我是否可以使用样式化组件库 谢谢大家! 学生:我想我需要提供更多的信息 谢天谢地,很多人都回答了我的问题,但我试了一下,又犯了一个错误。 附言: 我的文件结构: 我的按钮代码Javascript 使用样式化组件分发React UI库,javascript,reactjs,Javascript,Reactjs,我是一名初级开发人员,刚开始在一家公司工作 我有一点反应方面的经验,无法解决当前的情况 我遇到的问题是,当我从npm中分发的库导入时,我的React项目无法识别样式化组件 我在我的项目中遇到了这个错误。 我已经研究并意识到巴别塔需要更多的选择,比如使用 “babel插件样式组件”选项 不幸的是,在使用该命令并随命令一起分发后,这项功能不起作用 纱线构建==网页包--生产模式 我是否可以使用样式化组件库 谢谢大家! 学生:我想我需要提供更多的信息 谢天谢地,很多人都回答了我的问题,但我试了一下,
export const StyledButton = styled.button`
background-color: white;
border-radius: 3px;
border: 2px solid palevioletred;
color: palevioletred;
margin: 0.5em 1em;
padding: 0.25em 1em;
${props => props.primary && css`
background: palevioletred;
color: white;
`}
`;
export default class Button extends React.Component {
constructor(props) {
super(props);
console.log("Props:", props);
}
render() {
return (
<div>
<StyledButton>{this.props.children}</StyledButton>
{/* <button> {this.props.children} </button> */}
</div>);
}
import Button from "./Button";
导出默认按钮
My index.js of src folder
export * from "./components";
My babel.config.js
module.exports = function BabelConfigJS(api) {
api.cache(true);
const presets = ["@babel/preset-env", "@babel/preset-react"];
const plugins = [
"styled-components",
[
"@babel/plugin-transform-runtime",
{
corejs: 2,
helpers: true,
regenerator: true,
useESModules: false,
},
],
[
"@babel/plugin-proposal-class-properties",
{
loose: true,
},
],
];
return {
sourceType: "unambiguous",
presets,
plugins,
};
};
PS:错误代码
您只需将组件名称更改为大写,它与babel等无关
// not <styledButton/>
<StyledButton/>
//不是
这是React的要求,因为在JSX中,小写标记名被认为是HTML标记 您只需将组件名称更改为大写,它与babel等无关
// not <styledButton/>
<StyledButton/>
//不是
这是React的要求,因为在JSX中,小写标记名被认为是HTML标记 该错误(实际上只是一个Eslint投诉)根本不涉及使用样式化组件
它只是说组件应该是PascalCase,而不是像现在这样的camelCase
也就是说,与其说是
,不如说是
这个错误(实际上只是一个Eslint投诉)根本就不是指使用样式化组件
它只是说组件应该是PascalCase,而不是像现在这样的camelCase
也就是说,不是
,而是
谢谢您回答这个问题!然而,我在帖子末尾又犯了一个错误。谢谢你回答这个问题!然而,我在帖子末尾又犯了一个错误。谢谢你回答我的问题。然而,在我更改了我在帖子中提到的内容之后,我又犯了一个错误。有没有办法解决这个问题?谢谢你回答我的问题。然而,在我更改了我在帖子中提到的内容之后,我又犯了一个错误。有没有办法解决这个问题?欢迎来到SO!您可以发布您收到的实际错误以及组件的代码吗?所有的图像显示的是,您在组件中有一个错误,这对我们试图帮助您时没有帮助。当然!我会发布的。你也可以发布错误文本吗?当然可以!我会发布的!欢迎来到SO!您可以发布您收到的实际错误以及组件的代码吗?所有的图像显示的是,您在组件中有一个错误,这对我们试图帮助您时没有帮助。当然!我会发布的。你也可以发布错误文本吗?当然可以!我会发布的!