我当前正在尝试构建一个react组件库。
我已经设置了这个项目,但是当我尝试将其包括在演示项目中时,我会收到以下错误:
不变违规
元素类型无效:预期一个字符串(用于内置组件(或类/函数(对于复合组件(,但得到:未定义。您可能会忘记从定义的文件中导出组件,或者您可能将默认值混合并命名为导入。
检查'app'的渲染方法。
我的index.js:
import Button from "./components/Button";
export default {
Button
};
我的样本组件
import styled from 'styled-components';
const Button = styled.button`
background: #1FB6FF;
border: none;
border-radius: 2px;
color: #FFFFFF;
cursor: pointer;
display: inline-block;
font-size: 16px;
line-height: 40px;
font-weight: 200;
margin: 8px 0;
outline: none;
padding: 0 12px;
text-transform: uppercase;
transition: all 300ms ease;
&:hover {
background: #009EEB;
}
`;
export default Button;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
有人可以告诉问题吗?
预先感谢!
我认为 export default { Button }
应该是: export default Button
。
在您的index.js文件而不是
中尝试一下export * from "./components/Button";
做这个
export Button from "./components/Button";
和
export default { Button }
应该是:
export default Button.
有关更多信息,请参阅此ES6 export * from import
?